@import"https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;0,600;1,400&family=Work+Sans:wght@400;500;600;700&display=swap";:root{--color-bg: oklch(97% .012 75);--color-surface: oklch(99% .006 75);--color-surface-sunken: oklch(94% .016 72);--color-text: oklch(23% .014 60);--color-text-muted: oklch(46% .022 60);--color-text-faint: oklch(66% .018 60);--color-primary: oklch(50% .09 45);--color-primary-strong: oklch(38% .09 45);--color-primary-soft: oklch(93% .025 45);--color-primary-contrast: oklch(98% .01 75);--color-accent: oklch(50% .09 150);--color-accent-strong: oklch(38% .09 150);--color-accent-soft: oklch(93% .025 150);--color-border: oklch(88% .018 70);--color-success: oklch(50% .09 150);--color-error: oklch(50% .1 30);--color-warning: oklch(58% .1 75);--font-display: "Spectral", Georgia, serif;--font-body: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 18px;--radius-sm: 12px;--shadow-sm: 0 1px 2px oklch(30% .02 60 / .06);--shadow-md: 0 16px 40px -16px oklch(25% .02 60 / .28);--spacing: 16px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent}h1,h2{font-family:var(--font-display);font-weight:500;margin:0 0 8px;letter-spacing:-.005em}.pantalla-centrada{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing);position:relative;overflow:hidden}.pantalla-centrada:before,.pantalla-centrada:after{content:"";position:absolute;border:1px solid var(--color-border);border-radius:50%;pointer-events:none}.pantalla-centrada:before{width:640px;height:640px;left:-220px;top:-180px}.pantalla-centrada:after{width:520px;height:520px;right:-200px;bottom:-200px}.tarjeta{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow-md);padding:40px 36px;margin-bottom:var(--spacing);max-width:460px;width:100%;position:relative;z-index:1}.tarjeta>h1{text-align:center;font-size:1.7rem}.subtitulo{color:var(--color-text-faint);margin-top:0;text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:32px}label{display:block;font-weight:600;margin-bottom:14px;font-size:.9rem;color:var(--color-text-muted)}input[type=text],input[type=email],input[type=password],input[type=datetime-local]{display:block;width:100%;margin-top:8px;padding:15px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface-sunken);font-size:1rem;font-weight:400;font-family:inherit;color:var(--color-text)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=datetime-local]:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px var(--color-primary-soft)}button{background:var(--color-primary);color:var(--color-primary-contrast);border:none;border-radius:var(--radius-sm);padding:16px 20px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;min-height:48px}button:disabled{opacity:.5;cursor:not-allowed}button.activo{background:var(--color-primary-strong)}.mensaje-error{color:var(--color-error);font-weight:600}.mensaje-info{color:var(--color-text);background:var(--color-surface-sunken);padding:12px 15px;border-radius:var(--radius-sm)}.mensaje-aviso{color:var(--color-warning)}.nota{color:var(--color-text-muted);font-size:.85rem}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header-min{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:14px var(--spacing);background:var(--color-bg);color:var(--color-text);border-bottom:1px solid var(--color-border)}.app-titulo{flex:1;font-family:var(--font-display);font-weight:500;font-size:1.05rem}.boton-hamburguesa{flex-shrink:0;width:40px;height:40px;min-height:40px;padding:0;border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.indicador-conexion-punto{flex-shrink:0;width:9px;height:9px;border-radius:50%}.indicador-conexion-punto.online{background:var(--color-accent)}.indicador-conexion-punto.offline{background:var(--color-error)}.menu-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d140d80;display:flex;align-items:stretch;justify-content:flex-start;z-index:100}.menu-panel{height:100%;width:300px;max-width:82vw;background:var(--color-surface);box-shadow:var(--shadow-md);display:flex;flex-direction:column;padding:22px 18px;border-radius:0}.menu-panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--color-border)}.menu-panel-header .app-titulo{font-size:1.15rem}.badge-conexion{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:6px 13px;border-radius:999px;font-size:.76rem;font-weight:600;margin-bottom:22px}.badge-conexion-punto{width:7px;height:7px;border-radius:50%;flex-shrink:0}.badge-conexion.online{background:var(--color-accent-soft);color:var(--color-accent-strong)}.badge-conexion.online .badge-conexion-punto{background:var(--color-accent)}.badge-conexion.offline{background:#944b401f;color:var(--color-error)}.badge-conexion.offline .badge-conexion-punto{background:var(--color-error)}.menu-panel-nav{display:flex;flex-direction:column;gap:3px}.menu-item{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:transparent;color:var(--color-text-muted);border:none;border-radius:var(--radius-sm);padding:13px 14px;font-size:.94rem;font-weight:600;font-family:inherit;min-height:46px}.menu-item:hover,.menu-item:active{background:var(--color-surface-sunken)}.menu-item.activo{background:var(--color-primary-soft);color:var(--color-primary-strong)}.menu-item-icono{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.menu-item-logout{margin-top:auto;color:var(--color-text-faint);border-top:1px solid var(--color-border);border-radius:0;padding-top:18px}main{flex:1;min-height:0;padding:var(--spacing);display:flex;flex-direction:column;align-items:center;overflow-y:auto}.historial-page{width:100%;max-width:720px}.paso1-pantalla-completa{position:relative;width:100%;max-width:1100px;height:100%;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);display:flex;align-items:stretch;justify-content:center;padding:8px 4px}.paso1-input-compacto{width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface-sunken);font-family:inherit;font-size:.95rem;color:var(--color-text)}.paso1-input-compacto:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px var(--color-primary-soft)}.boton-fab-contacto{position:fixed;right:24px;bottom:24px;width:64px;height:64px;min-height:64px;padding:0;border-radius:50%;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);z-index:60}.sliders-fila{display:flex;gap:12px;justify-content:center;overflow-x:auto;width:100%;height:100%;padding-bottom:76px}.slider-columna{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;width:140px;height:100%;text-align:center}.slider-titulo-fila{display:flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-height:36px;margin-bottom:2px}.slider-etiqueta{font-family:var(--font-display);font-weight:600;font-size:.92rem;line-height:1.2}.boton-ayuda{flex-shrink:0;width:24px;height:24px;min-height:24px;padding:0;border-radius:50%;background:var(--color-surface);color:var(--color-text-faint);border:1px solid var(--color-border);font-size:.75rem;font-weight:700;font-family:inherit;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.boton-ayuda:hover,.boton-ayuda:active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.slider-polo{display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:36px;font-size:.72rem;color:var(--color-text-faint);line-height:1.2}.slider-vertical-wrap{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.slider-vertical{height:44px;margin:0;transform:rotate(-90deg);flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.slider-vertical::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:var(--color-surface-sunken)}.slider-vertical::-moz-range-track{height:6px;border-radius:6px;background:var(--color-surface-sunken)}.slider-vertical::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;background:var(--color-surface);border:3.5px solid var(--color-primary);box-shadow:var(--shadow-sm);margin-top:-12px}.slider-vertical::-moz-range-thumb{width:30px;height:30px;border-radius:50%;background:var(--color-surface);border:3.5px solid var(--color-primary);box-shadow:var(--shadow-sm)}.slider-valor{flex:0 0 auto;margin-top:4px;font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--color-primary-strong)}.checkbox-consentimiento{display:flex;align-items:center;gap:12px;font-weight:400;color:var(--color-text)}.checkbox-consentimiento input{width:23px;height:23px;accent-color:var(--color-primary)}.resultado-pantalla{width:100%;height:100%;display:flex;justify-content:center;overflow-y:auto;padding:8px}.resultado-tarjeta{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);padding:28px 26px;max-width:560px;width:100%;display:flex;flex-direction:column;gap:16px;margin:auto 0}.resultado-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.resultado-familia{font-family:var(--font-display);font-weight:500;font-size:1.5rem}.resultado-ich{margin:0 0 4px;color:var(--color-text-faint);font-size:.85rem}.resultado-recomendacion{background:var(--color-surface-sunken);border-radius:var(--radius);padding:20px 22px}.resultado-precio{margin:0 0 12px;font-family:var(--font-display);font-size:1.7rem;font-weight:600;color:var(--color-text)}.resultado-servicios{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.resultado-servicios li{font-size:.85rem;font-weight:600;padding:8px 13px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.resultado-speech{background:var(--color-primary-soft);border-radius:var(--radius);padding:22px 24px}.etiqueta-checkboxes{display:block;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:4px}.checkboxes-roles{display:flex;flex-wrap:wrap;gap:9px;margin-top:2px;padding-bottom:6px}.checkbox-rol{font-size:.87rem;font-weight:600;padding:11px 16px;border-radius:999px;border:1.5px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);margin-bottom:0;cursor:pointer;display:inline-flex;align-items:center}.checkbox-rol:has(input:checked){background:var(--color-accent-soft);border-color:transparent;color:var(--color-accent-strong)}.checkbox-rol input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.checkbox-rol:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.form-inline{display:flex;gap:10px}.form-inline button{flex:1}.conformidad-lista{margin-bottom:8px}.conformidad-fila{padding:20px 0;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:14px}.conformidad-fila:first-child{padding-top:14px}.conformidad-fila-info{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.conformidad-fila-info strong{font-family:var(--font-display);font-size:1.15rem;font-weight:600}.conformidad-fila-info .nota{font-size:.75rem;white-space:nowrap}.conformidad-controles{display:inline-flex;align-self:flex-start;padding:4px;border-radius:999px;background:var(--color-surface-sunken);gap:2px}.conformidad-controles button{flex:none;padding:10px 17px;font-size:.8rem;font-weight:600;min-height:0;border-radius:999px;background:transparent;color:var(--color-text-muted);white-space:nowrap}.conformidad-controles button.activo{background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-sm)}.resultado-speech-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-strong)}.badge-ia{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap;text-transform:none;letter-spacing:normal}.badge-ia.pulido{background:var(--color-surface);color:var(--color-text-muted)}.badge-ia.borrador{background:var(--color-surface);color:var(--color-text-faint)}.resultado-speech-texto{margin:10px 0 0;font-family:var(--font-display);font-style:italic;line-height:1.65;font-size:.98rem;color:var(--color-text)}.resultado-decision{background:var(--color-surface-sunken);border-radius:var(--radius);padding:20px 22px}.resultado-decision-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:12px}.badge-decision{display:inline-block;padding:4px 11px;border-radius:999px;font-size:.68rem;font-weight:700;white-space:nowrap;text-transform:none;letter-spacing:normal}.badge-decision.pendiente{background:var(--color-primary-soft);color:var(--color-primary-strong)}.badge-decision.aceptada{background:var(--color-accent-soft);color:var(--color-accent-strong)}.badge-decision.rechazada{background:#944b401f;color:var(--color-error)}.resultado-decision-botones{display:flex;gap:10px}.resultado-decision-botones button{flex:1}.resultado-decision-botones button:first-child{background:var(--color-accent)}.boton-rechazar{background:var(--color-surface);color:var(--color-text-muted);border:1.5px solid var(--color-border)}.boton-secundario{background:var(--color-surface);color:var(--color-text-muted);border:1.5px solid var(--color-border);min-height:40px;padding:8px 16px;font-size:.85rem}.resultado-decision-rechazo{display:flex;flex-direction:column;gap:12px}.lista-pendientes,.lista-historial{list-style:none;padding:0}.lista-historial li{padding:14px 0;border-bottom:1px solid var(--color-border)}.item-historial{display:flex;flex-direction:column;gap:8px}.item-historial-header{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.item-historial-decision{display:flex;align-items:center;gap:10px}.badge{display:inline-block;margin-left:8px;padding:4px 10px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:700}.badge-alerta{background:var(--color-warning)}.modal-fondo{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d140d80;display:flex;align-items:center;justify-content:center;padding:var(--spacing);z-index:100}.modal-contenido{background:var(--color-surface);border-radius:var(--radius);padding:28px;max-width:480px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-md)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.modal-header h3{margin:0;font-family:var(--font-display);font-weight:600;font-size:1.15rem}.modal-cerrar{flex-shrink:0;width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;background:var(--color-surface-sunken);color:var(--color-text);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center}.modal-concepto{color:var(--color-text-muted);font-size:.95rem}.modal-criterios{display:flex;flex-direction:column;gap:14px;background:var(--color-surface-sunken);border-radius:var(--radius-sm);padding:16px;margin:14px 0}.modal-criterio-etiqueta{display:block;font-weight:700;font-size:.8rem;color:var(--color-primary-strong);margin-bottom:3px}.modal-criterios p{margin:0;font-size:.9rem}.modal-contenido h4{font-family:var(--font-display);margin:18px 0 8px;font-size:1rem;font-weight:600}.modal-preguntas{margin:0 0 20px;padding-left:20px}.modal-preguntas li{margin-bottom:8px;font-size:.92rem}.modal-contenido>button{width:100%}
