:root{--app-footer-height:1.5cm;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#17202a;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;padding-bottom:var(--app-footer-height);margin:0}body:has(.fullscreen-frame){padding-bottom:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#1f6feb;border:0;border-radius:6px;padding:.72rem 1rem;font-weight:650}.button-link{border-radius:6px;padding:.72rem 1rem;font-weight:650;text-decoration:none;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.65}.secondary{color:#243447;background:#e7edf6}.white-button{color:#243447;background:#fff;border:1px solid #c6d1dd}.fullscreen-frame{grid-template-rows:minmax(0,1fr);min-height:100vh;display:grid}.fullscreen-frame .display-shell{min-height:100vh}.app-shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#edf4ff;max-height:calc(100vh - var(--app-footer-height));background:#101923;flex-direction:column;grid-row:1/3;gap:1.5rem;padding:1.25rem;display:flex;position:sticky;top:0;overflow:hidden}.brand{align-items:center;gap:.75rem;display:flex}.brand-logo{object-fit:contain;border-radius:6px;width:86px;height:64px;display:block}.brand-mark{color:#101923;background:#6cc4a1;border-radius:6px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:800;display:inline-flex}.brand small{color:#a8b8cc;margin-top:.15rem;display:block}nav{gap:.4rem;display:grid;overflow-y:auto}nav a{color:#d8e2f0;border-radius:6px;padding:.7rem .75rem;text-decoration:none}nav a.router-link-active,nav a:hover{color:#fff;background:#203044}nav a.disabled,nav a.disabled:hover{color:#65758a;cursor:not-allowed;opacity:.55;background:0 0}.sidebar-welcome{color:#d8e2f0;margin:0;padding:.7rem .75rem;font-size:1.15rem;font-weight:750}.sidebar-welcome-muted{color:#a8b8cc;font-size:.95rem;font-weight:650}.nav-section{color:#7f94ad;letter-spacing:0;text-transform:uppercase;margin-top:.45rem;font-size:.72rem;font-weight:800}.content{align-content:start;gap:1rem;padding:2rem;display:grid}.app-header-logo{object-fit:contain;justify-self:start;width:auto;max-width:min(360px,100%);height:46px;display:block}.user-badge-row{justify-content:flex-end;min-height:36px;display:flex}.user-badge{color:#17202a;background:#fff;border:1px solid #d9e1ea;border-radius:8px;align-items:center;gap:.55rem;max-width:min(440px,100%);padding:.45rem .7rem;text-decoration:none;display:inline-flex}.user-badge span{color:#667789;text-transform:uppercase;font-size:.78rem;font-weight:700}.user-badge strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-badge em{color:#9a3412;white-space:nowrap;background:#fff7ed;border-radius:999px;padding:.22rem .5rem;font-size:.78rem;font-style:normal;font-weight:700}.app-footer{height:var(--app-footer-height);min-height:var(--app-footer-height);z-index:50;background:#fff;border-top:1px solid #d9e1ea;grid-column:2;grid-template-columns:minmax(220px,1fr) minmax(150px,auto) minmax(220px,1fr);align-items:center;gap:1rem;padding:.25rem 2.25rem;display:grid;position:fixed;bottom:0;left:0;right:0}.fullscreen-frame>.app-footer{grid-column:auto}.app-footer-link{justify-self:center;display:inline-flex}.app-footer-logo{object-fit:contain;width:auto;max-width:min(240px,32vw);height:1.05cm;display:block}.app-footer-mission,.app-footer-clock{color:#405064;min-width:0;font-size:.86rem;font-weight:700;line-height:1.2}.app-footer-mission{text-transform:uppercase;white-space:nowrap;justify-self:start}.app-footer-clock{text-align:right;white-space:nowrap;justify-self:end;font-weight:500}.page{gap:1.25rem;display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h1{margin:0 0 .25rem;font-size:1.65rem}.page-header p{color:#5d6b7a;margin:0}.panel{background:#fff;border:1px solid #d9e1ea;border-radius:8px;padding:1.1rem}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.catalog-grid{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start}.assignment-stack{gap:1rem;display:grid}.assignment-location-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.assignment-doctor-grid{grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(150px,1fr)}.form{gap:.8rem;display:grid}.fieldset-reset{border:0;gap:.8rem;margin:0;padding:0;display:grid}.form h2,.panel h2{margin:0 0 .4rem;font-size:1.05rem}.form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;display:grid}.location-context-field input{color:#405064;background:#f7f9fc;font-weight:650}.compact-form,.institution-form{max-width:420px}.narrow-input{max-width:360px}.form-row{gap:.35rem;display:grid}.date-segments{grid-template-columns:1.2fr .8fr .8fr;gap:.45rem;max-width:280px;display:grid}.date-segments input{text-align:center}label{color:#405064;font-size:.88rem;font-weight:650}input,select,textarea{color:#17202a;border:1px solid #c6d1dd;border-radius:6px;width:100%;padding:.68rem .75rem}input[readonly]{color:#405064;background:#f7f9fc}.combobox{position:relative}.combobox-list{z-index:20;background:#fff;border:1px solid #c6d1dd;border-radius:6px;max-height:260px;margin-top:.25rem;display:grid;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 16px 34px #17202a29}.combobox-option{color:#17202a;text-align:left;background:#fff;border-radius:0;gap:.2rem;padding:.65rem .75rem;display:grid}.combobox-option:hover,.combobox-option.highlighted,.combobox-option.selected{color:#17202a;background:#f0f6ff}.combobox-option-title{font-weight:700}.combobox-option-meta,.combobox-empty{color:#526172;font-size:.84rem;font-weight:500}.combobox-empty{padding:.75rem}.check-row{color:#405064;align-items:center;gap:.55rem;font-weight:650;display:inline-flex}.check-row input{width:auto}.permission-empty{color:#8a9bae;justify-content:center;min-width:2rem;font-weight:700;display:inline-flex}.actions-row,.inline-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.inline-field{align-items:center;gap:.4rem;display:inline-flex}.inline-field input,.inline-field select{min-width:9rem}.segmented-actions{flex-wrap:wrap;gap:.45rem;display:flex}.segmented-actions .selected{color:#fff;background:#1f6feb}.autocomplete-add-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.chip-list{flex-wrap:wrap;gap:.4rem;display:flex}.chip{border-radius:999px;padding:.35rem .6rem;font-size:.82rem}.small{padding:.45rem .65rem;font-size:.82rem}.danger{color:#9f2015;background:#fbe3df}.danger.solid{color:#fff;background:#d92d20}.success{color:#fff;background:#168451}.table-panel{min-width:0}.table-scroll{overflow-x:auto}.pagination-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.75rem;display:flex}.contact-detail{border-top:1px solid #e2e8f0;gap:.8rem;margin-top:1rem;padding-top:1rem;display:grid}.contact-detail h3{margin:0;font-size:1rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.75rem}th{color:#526172;text-transform:uppercase;font-size:.82rem}.table-sort-button{color:inherit;font-size:inherit;text-align:left;text-transform:uppercase;background:0 0;padding:0}.selectable-row{cursor:pointer}.selectable-row:hover,.selectable-row.selected{background:#f0f6ff}.status{border-radius:999px;padding:.22rem .55rem;font-size:.78rem;font-weight:700;display:inline-flex}.status.ok{color:#116345;background:#ddf7ec}.status.muted{color:#56677a;background:#edf1f5}.doctor-status-panel{max-width:760px}.doctor-status-summary{border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;padding:.9rem;display:grid}.doctor-status-summary>div>span,.dialog-details dt{color:#667789;text-transform:uppercase;font-size:.78rem;font-weight:800}.doctor-status-summary strong{margin-top:.2rem;display:flex}.doctor-status-value,.table-status-button,.doctor-status-button{align-items:center;gap:.45rem;display:inline-flex}.doctor-status-icon{border-radius:999px;flex:none;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.82rem;font-weight:900;line-height:1;display:inline-flex}.doctor-status-red{color:#b42318;background:#fbe3df}.doctor-status-orange{color:#c2410c;background:#fff7ed}.doctor-status-yellow{color:#b7791f;background:#fef3c7}.doctor-status-yellow:before{content:"";background:currentColor;border-radius:999px;width:.55rem;height:.55rem}.doctor-status-green{color:#168451;background:#ddf7ec}.doctor-status-muted{color:#56677a;background:#edf1f5}.doctor-status-actions{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;display:grid}.doctor-status-button{justify-content:center}.doctor-status-button-muted{color:#374151;background:#e5e7eb}.table-status-button{color:#17202a;text-align:left;background:0 0;padding:0;font-size:.9rem;font-weight:700}.table-status-button:hover{color:#1f6feb}.notes-footer{color:#667789;justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;display:flex}.modal-backdrop{z-index:100;background:#10192375;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border-radius:8px;gap:1rem;width:min(100%,460px);max-width:460px;padding:1.2rem;display:grid;box-shadow:0 22px 60px #1019233d}.modal-panel h2{margin:0}.dialog-details{gap:.8rem;margin:0;display:grid}.dialog-details div{border-bottom:1px solid #e2e8f0;gap:.25rem;padding-bottom:.65rem;display:grid}.dialog-details dd{margin:0}.message{color:#526172}.error{color:#b42318}.warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin:0;padding:.75rem;font-weight:700}.success-message{color:#168451;font-weight:700}.profile-grid{align-items:start}.profile-list{gap:.75rem;margin:1rem 0 0;display:grid}.profile-list div{border-bottom:1px solid #e2e8f0;gap:.25rem;padding-bottom:.75rem;display:grid}.profile-list dt{color:#667789;text-transform:uppercase;font-size:.78rem;font-weight:800}.profile-list dd{margin:0}.duplicate-warning{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:.75rem;padding:.9rem;display:grid}.duplicate-warning strong{margin-bottom:.35rem;display:block}.duplicate-warning ul{margin:0;padding-left:1.1rem}pre{color:#263545;background:#f7f9fc;border-radius:6px;max-width:360px;margin:0;padding:.6rem;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;overflow-x:auto}.display-shell{background:var(--display-bg);color:var(--display-text);grid-template-rows:auto 1fr auto;min-height:100vh;padding:1.5rem 1.5rem 7rem;display:grid}.display-topbar{grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:1rem;min-height:56px;display:grid}.display-topbar-spacer{grid-column:1}.display-topbar h1{text-align:center;grid-column:2;margin:0;font-size:3.4rem;line-height:1}.display-status{opacity:.78;grid-column:3;justify-content:flex-end;align-items:center;gap:1rem;min-height:42px;display:flex}.display-status span{background:#ffffff1a;border-radius:999px;padding:.35rem .7rem}.display-status .connected{color:#a7f3d0}.display-clock{background:#ffffff1a;border-radius:999px;padding:.35rem .7rem;font-weight:850}.display-voice-button{color:var(--display-text);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.45rem;min-height:34px;padding:.35rem .7rem;display:inline-flex}.display-voice-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:20px;height:20px}.display-voice-button svg path:first-child{fill:currentColor;stroke:none}.display-voice-button.active{color:#a7f3d0;background:#34d3992e;border-color:#a7f3d073}.display-logo{opacity:.94;z-index:2;position:fixed;top:1.5rem;left:1.5rem}.display-logo img{object-fit:cover;object-position:center;width:clamp(195px,16.5vw,315px);height:clamp(54px,4.65vw,88.5px);display:block}.display-labs-logo{opacity:.94;z-index:2;position:fixed;bottom:1.5rem;left:1.5rem}.display-labs-logo img{object-fit:contain;width:auto;height:clamp(38px,4vw,74px);display:block}.display-identity{opacity:.78;z-index:2;flex-direction:column;align-items:flex-end;gap:.65rem;max-width:min(440px,100vw - 3rem);display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.display-identity img{background:#fff;border-radius:6px;order:2;width:64px;height:64px;padding:.25rem}.display-identity span{text-overflow:ellipsis;white-space:nowrap;order:1;overflow:hidden}.turnos-stage{align-content:center;gap:1rem;width:100%;max-width:1200px;margin:0 auto;display:grid}.turno-card{color:var(--display-normal);border-bottom:1px solid #fff3;grid-template-columns:minmax(160px,.7fr) minmax(240px,1.3fr);align-items:center;gap:1rem;padding:1rem 0;display:grid}.turno-card strong{font-size:var(--display-normal-size);line-height:1}.turno-card span{font-size:2.6rem;font-weight:800}.turno-card.highlighted{color:var(--display-new)}.turno-card.text-only{grid-template-columns:1fr}.turno-card-text{font-size:min(var(--display-normal-size), 4rem);overflow-wrap:anywhere;font-weight:800;line-height:1.12}.turno-card.highlighted strong{font-size:var(--display-new-size)}.turno-card.highlighted span{font-size:3.4rem}.turno-card.highlighted .turno-card-text{font-size:min(var(--display-new-size), 5rem)}.display-empty{opacity:.72;text-align:center;font-size:4rem;font-weight:800}.next-appointments-stage{align-content:center;width:100%;max-width:1520px;margin:0 auto;display:grid}.next-appointments-table-wrap{overflow-x:auto}.next-appointments-table{border-collapse:collapse;color:var(--display-text);table-layout:fixed;width:100%;min-width:1180px;margin:0;font-size:1.7rem}.next-appointments-consultorio,.next-appointments-medico{width:27%}.next-appointments-disponibilidad{width:24%}.next-appointments-cita{width:10%}.next-appointments-hora{width:12%}.next-appointments-table th,.next-appointments-table td{text-align:left;vertical-align:middle;border:0;border-bottom:1px solid #ffffff38;padding:.95rem 1rem}.next-appointments-table th{color:var(--display-text);letter-spacing:0;opacity:.72;text-transform:uppercase;background:0 0;font-size:1rem}.next-appointments-table td{overflow-wrap:anywhere;font-weight:760}.next-appointments-table th:first-child,.next-appointments-table td:first-child{padding-left:0}.next-appointments-table th:first-child,.next-appointments-table td:first-child,.next-appointments-table th:nth-child(2),.next-appointments-table td:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next-appointments-table td:nth-child(4),.next-appointments-table td:nth-child(5){white-space:nowrap}.next-appointments-table th:nth-child(4),.next-appointments-table td:nth-child(4){text-align:center}.next-appointments-table th:nth-child(5),.next-appointments-table td:nth-child(5){text-align:center;padding-right:0}.next-appointments-table td:nth-child(4) strong,.next-appointments-table time{font-size:2.65rem;font-weight:850}.next-appointment-status{justify-self:start}.display-error{color:#fecaca;text-align:right}.qr-preview{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.qr-preview img{background:#fff;border:1px solid #d9e1ea;border-radius:8px;width:240px;height:240px;padding:.6rem}.qr-reader-panel{gap:1rem;max-width:760px;display:grid}.qr-reader-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:.8rem;display:grid}.qr-result{border:1px solid #d9e1ea;border-radius:8px;gap:.25rem;padding:1rem;display:grid}.qr-result strong{align-items:center;gap:.5rem;font-size:1.5rem;display:flex}.qr-result-icon{border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.15rem;display:inline-flex}.qr-result.verde .qr-result-icon{color:#fff;background:#168451}.qr-result.rojo .qr-result-icon{color:#fff;background:#d92d20}.qr-result.verde{color:#116345;background:#ddf7ec;border-color:#9de7c8}.qr-result.amarillo{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.qr-result.rojo{color:#9f2015;background:#fbe3df;border-color:#ffc9c0}.devices-table{max-height:560px;overflow-y:auto}.screen-active{align-self:end;min-height:44px}.screen-color-preview{aspect-ratio:16/7;text-align:center;border:1px solid #c6d1dd;border-radius:8px;place-items:center;min-height:140px;padding:1rem;display:grid;overflow:hidden}.screen-color-preview span{opacity:.78;font-size:.95rem;font-weight:700}.screen-color-preview strong{font-size:2.4rem;line-height:1}.turnos-preview{gap:.75rem;display:grid}.turno-preview-item{background:#f7f9fc;border:1px solid #d9e1ea;border-radius:8px;grid-template-columns:120px minmax(160px,1fr) auto;align-items:center;gap:.75rem;padding:.9rem;display:grid}.turno-preview-item strong{font-size:1.6rem}.contact-medium{grid-template-columns:130px minmax(0,1fr);gap:.5rem;display:grid}.login-shell{min-height:calc(100vh - 8rem - var(--app-footer-height));align-items:center;padding:1rem;display:grid}.login-panel{width:100%;max-width:420px;margin:0 auto}@media (width<=760px){.app-shell{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:1fr}.sidebar{max-height:none;padding-bottom:calc(1.25rem + var(--app-footer-height));grid-row:auto;position:static;overflow:visible}.content{padding:1rem}.user-badge-row{justify-content:stretch}.user-badge{width:100%}.app-footer{grid-column:1;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.5rem;padding:.25rem .75rem}.app-footer-logo{max-width:34vw;height:.82cm}.app-footer-mission,.app-footer-clock{white-space:normal;font-size:.64rem}.page-header{display:grid}.catalog-grid,.assignment-doctor-grid,.turno-card{grid-template-columns:1fr}.display-topbar{grid-template-columns:1fr;padding-top:4.6rem}.display-topbar-spacer{display:none}.display-topbar h1,.display-status{grid-column:auto}.display-topbar h1{font-size:2rem}.display-status{flex-wrap:wrap;justify-content:center}.next-appointments-table{min-width:760px;font-size:1rem}.turno-preview-item,.contact-medium,.qr-reader-form,.autocomplete-add-row{grid-template-columns:1fr}}
