:root{color:#17212b;font-synthesis:none;text-rendering:optimizelegibility;background:#f6f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{background:linear-gradient(#f6f7f8e0,#f6f7f8),url(https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?auto=format&fit=crop&w=2200&q=80) 50%/cover fixed;min-height:100vh;padding:24px}.topbar{align-items:center;gap:14px;max-width:1180px;margin:0 auto 22px;padding:14px 0;display:flex}.brand-logo{flex:none;width:152px;height:auto;display:block}.auth-topbar{justify-content:center}.auth-topbar .brand-logo{width:clamp(180px,18vw,230px)}.eyebrow{color:#4b6375;letter-spacing:0;text-transform:uppercase;margin:0 0 3px;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.05}.topbar-actions{gap:8px;margin-left:auto;display:flex}.icon-link,.result-actions button,.primary-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;text-decoration:none;display:inline-flex}.icon-link{color:#197fe6;background:#ffffffc7;border:1px solid #1e485426;width:42px}.logout-button{color:#0f3440;cursor:pointer;background:#ffffffe6;border:1px solid #1e48542e;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:0 14px;font-weight:800;display:inline-flex}.logout-button:disabled{cursor:wait;opacity:.7}.workspace{grid-template-columns:minmax(280px,360px) 1fr;gap:20px;max-width:1180px;margin:0 auto;display:grid}.lookup-panel,.patient-profile,.result-card,.empty-state{background:#fffffff0;border:1px solid #3a566124;border-radius:8px;box-shadow:0 20px 45px #1f374321}.lookup-panel{align-self:start;padding:22px}.patient-sidebar{align-self:start;gap:16px;display:grid}.patient-profile{padding:22px}.profile-loading{color:#5f7180;margin:0}.profile-grid{gap:10px;display:grid}.profile-field{background:#f8fbfc;border:1px solid #dce7eb;border-radius:8px;gap:4px;padding:12px;display:grid}.profile-field span{color:#526674;font-size:.82rem;font-weight:800}.profile-field strong{color:#17212b;overflow-wrap:anywhere;font-size:.98rem;line-height:1.35}.profile-actions{gap:8px;margin-top:14px;display:grid}.profile-actions button{color:#16313b;background:#eef4f6;border:1px solid #d6e3e8;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 12px;font-weight:800;display:inline-flex}.profile-form{border-top:1px solid #dde7eb;margin-top:14px;padding-top:14px}.profile-form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cep-row{grid-template-columns:minmax(0,1fr) minmax(150px,170px);align-items:end;gap:10px;display:grid}.cep-button{white-space:nowrap;height:48px;margin-top:24px}.panel-heading{gap:12px;margin-bottom:22px;display:flex}.panel-heading svg{color:#197fe6;flex:none}.panel-heading h2,.empty-state h2,.result-header h2{margin-bottom:4px}.panel-heading p,.empty-state p,.metric p,.exam-summary p,.notes p{color:#5f7180}.lookup-form{gap:16px;display:grid}label{color:#263845;gap:7px;font-weight:750;display:grid}.input-row{background:#fff;border:1px solid #c8d6dd;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 12px;display:flex}.input-row:focus-within{border-color:#197fe6;outline:3px solid #197fe629}.input-row svg{color:#607381}.password-visibility-button{color:#607381;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.password-visibility-button:hover{color:#197fe6;background:#eef7fc}input{color:#17212b;background:0 0;border:0;outline:0;width:100%}.password-rules{color:#607381;gap:5px;margin:-4px 0 2px;padding-left:18px;font-size:.82rem;font-weight:650;display:grid}.password-rules li.valid{color:#167a4a}.password-rules li.info{color:#41586a}select{color:#17212b;background:#fff;border:1px solid #c8d6dd;border-radius:8px;min-height:48px;padding:0 12px}.primary-button{color:#fff;background:#197fe6;width:100%;padding:0 16px;font-weight:800}.primary-button:hover{background:#156fc9}.address-support-button{text-align:center;white-space:normal;min-height:58px;padding-block:10px;line-height:1.2}.error-box{color:#8a341f;background:#fff0ea;border:1px solid #ffd0bf;border-radius:8px;gap:8px;padding:12px;font-size:.92rem;display:flex}.success-box{color:#0e6245;background:#e2f8ec;border:1px solid #b8ebcf;border-radius:8px;gap:8px;padding:12px;font-size:.92rem;display:flex}.auth-shell{align-content:start;display:grid}.auth-topbar{margin-bottom:52px}.auth-layout{width:min(460px,100%);margin:0 auto}.auth-panel{background:#fffffff2;border:1px solid #3a566124;border-radius:8px;padding:22px;box-shadow:0 20px 45px #1f374321}.auth-tabs{background:#eef4f6;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:18px;padding:4px;display:grid}.auth-tabs button{color:#38515f;background:0 0;border:0;border-radius:6px;min-height:38px;font-weight:800}.auth-tabs button.active{color:#197fe6;background:#fff;box-shadow:0 1px 4px #1f37431f}.check-row{grid-template-columns:auto 1fr;align-items:center;gap:10px;font-weight:700;display:flex}.check-row input{width:18px;height:18px}.demo-list{border-top:1px solid #dde7eb;margin-top:24px;padding-top:18px}.demo-list p{color:#526674;text-transform:uppercase;margin-bottom:10px;font-size:.84rem;font-weight:800}.demo-list button{color:#1e3340;background:#f7fafb;border:1px solid #d9e5ea;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px;padding:10px 12px;display:flex}.demo-list small{color:#687b87}.results-area{gap:16px;display:grid}.main-stack{gap:16px;min-width:0;display:grid}.agenda-section,.notification-section,.support-section{background:#fffffff0;border:1px solid #3a566124;border-radius:8px;padding:22px;box-shadow:0 20px 45px #1f374321}.agenda-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px;display:grid}.agenda-column{align-content:start;gap:12px;min-width:0;display:grid}.agenda-column h3{color:#263845;margin:0;font-size:1rem}.appointment-card{background:#f8fbfc;border:1px solid #d9e5ea;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px;display:grid}.appointment-card.selected{border-color:#197fe6;box-shadow:0 0 0 3px #197fe61f}.appointment-card h4{color:#203842;margin:8px 0 10px}.appointment-details{gap:7px;margin:0;display:grid}.appointment-details div{grid-template-columns:82px minmax(0,1fr);gap:8px;display:grid}.appointment-details dt{color:#5f7180;font-size:.82rem;font-weight:850}.appointment-details dd{color:#203842;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:850}.appointment-actions{align-content:center;gap:8px;display:grid}.agenda-form{gap:12px}.specialty-combobox{min-width:0;position:relative}.specialty-search{padding-right:8px}.combobox-clear{color:#607381;cursor:pointer;background:#eef5f7;border:0;border-radius:6px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.05rem;font-weight:850;display:inline-flex}.combobox-clear:hover{color:#0b7680;background:#dff3f5}.specialty-options{z-index:20;background:#fff;border:1px solid #c8d6dd;border-radius:8px;max-height:292px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto;box-shadow:0 18px 38px #1f37432e}.specialty-option{color:#203842;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:40px;padding:8px 10px;font-weight:750;display:flex}.specialty-option span{overflow-wrap:anywhere}.specialty-option:hover,.specialty-option.selected{color:#075f67;background:#edf8fa}.specialty-option.muted{color:#607381;cursor:default;justify-content:center}.agenda-searching{color:#075f67;background:#edf8fa;border:1px solid #b9dce1;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;font-weight:850;display:flex}.agenda-spinner{border:3px solid #0b76802e;border-top-color:#0b7680;border-radius:999px;flex:0 0 20px;width:20px;height:20px;animation:.8s linear infinite agenda-spin}.searching-dots{align-items:center;gap:3px;margin-left:auto;display:inline-flex}.searching-dots i{background:#0b7680;border-radius:999px;width:5px;height:5px;animation:1s ease-in-out infinite agenda-dot}.searching-dots i:nth-child(2){animation-delay:.14s}.searching-dots i:nth-child(3){animation-delay:.28s}@keyframes agenda-spin{to{transform:rotate(360deg)}}@keyframes agenda-dot{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.available-days-block,.available-day-list{gap:8px;display:grid}.available-day{color:#203842;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e5ea;border-radius:8px;grid-template-columns:118px minmax(0,1fr) minmax(142px,max-content);align-items:center;gap:10px;min-height:62px;padding:10px;display:grid}.available-day:hover,.available-day.selected{background:#edf8fa;border-color:#0b7680}.available-day:disabled,.slot-option:disabled{cursor:wait;opacity:.65}.available-day span{text-transform:capitalize;white-space:nowrap;min-width:0;font-size:.96rem;font-weight:900;line-height:1.15}.available-day small,.available-day strong{overflow-wrap:anywhere;min-width:0}.available-day small{color:#5f7180;font-weight:750}.available-day strong{color:#0b7680;text-align:right;white-space:nowrap;justify-self:end;font-size:.86rem;font-weight:900}.days-pager{color:#5f7180;justify-content:space-between;align-items:center;gap:8px;font-size:.88rem;font-weight:850;display:flex}.slot-list{gap:8px;display:grid}.slot-list-header{background:#f8fbfc;border:1px solid #d9e5ea;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:50px;padding:10px 12px;display:flex}.slot-list-header h4{color:#263845;margin:0;font-size:.95rem}.slot-list-header small{color:#5f7180;text-transform:capitalize;margin-top:2px;font-weight:750;display:block}.compact-button{width:auto;min-height:36px;padding:0 10px}.slot-option{color:#17212b;text-align:left;background:#fff;border:1px solid #d9e5ea;border-radius:8px;grid-template-columns:118px minmax(0,1fr) minmax(142px,max-content);align-items:center;gap:10px;width:100%;min-height:62px;padding:10px;display:grid}.slot-option span,.slot-option strong,.slot-option small{overflow-wrap:anywhere;min-width:0}.slot-option span{color:#203842;white-space:nowrap;font-size:.96rem;font-weight:900;line-height:1.15}.slot-option small{color:#5f7180;font-weight:750}.slot-option strong{color:#0b7680;text-align:right;white-space:nowrap;justify-self:end;font-size:.86rem;font-weight:900}.slot-preference,.slot-suggestion,.appointment-confirmation{background:#fff;border:1px solid #d9e5ea;border-radius:8px;gap:10px;padding:12px;display:grid}.slot-preference p{color:#526674;margin:0;font-size:.9rem;font-weight:700;line-height:1.4}.slot-preference label{color:#203842;gap:7px;font-weight:850;display:grid}.slot-suggestion{grid-template-columns:minmax(0,1fr) minmax(160px,max-content);align-items:center}.slot-suggestion span{gap:3px;min-width:0;display:grid}.slot-suggestion span strong{color:#203842;font-size:1.05rem}.slot-suggestion small{color:#5f7180;overflow-wrap:anywhere;font-weight:750}.compact-action{white-space:nowrap;width:auto;min-height:42px;padding:0 14px}.appointment-confirmation{background:#edf8fa;border-color:#b9dce1}.danger-confirmation{background:#fff5f4;border-color:#f2b8b5}.confirmation-note{color:#526674;margin:0;font-size:.9rem;font-weight:800;line-height:1.4}.danger-action{background:#b5332c}.danger-action:hover{background:#972822}.appointment-confirmation h4{color:#075f67;margin:0;font-size:.98rem}.danger-confirmation h4{color:#9f2f2a}.appointment-confirmation dl{gap:8px;margin:0;display:grid}.appointment-confirmation dl div{grid-template-columns:128px minmax(0,1fr);gap:10px;display:grid}.appointment-confirmation dt{color:#5f7180;font-weight:800}.appointment-confirmation dd{color:#203842;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:900}.confirmation-actions{justify-content:flex-end;gap:8px;display:flex}.notification-layout{grid-template-columns:minmax(220px,.72fr) minmax(0,1fr);gap:16px;margin-top:14px;display:grid}.preference-list,.notification-list{gap:10px;display:grid}.preference-toggle{color:#203842;background:#f8fbfc;border:1px solid #d9e5ea;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:0 12px;font-weight:850;display:flex}.preference-toggle span{align-items:center;gap:8px;display:inline-flex}.preference-toggle input{accent-color:#197fe6;width:20px;height:20px}.notification-item{background:#f8fbfc;border:1px solid #d9e5ea;border-radius:8px;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:12px;display:grid}.notification-item strong,.notification-item p,.notification-item small{overflow-wrap:anywhere}.notification-item p{color:#435967;margin:5px 0}.notification-item small{color:#667887}.support-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.support-actions a{justify-content:center;align-items:center;gap:8px;min-width:132px;min-height:42px;text-decoration:none;display:inline-flex}.metrics-row{grid-template-columns:1fr 1fr minmax(240px,1.45fr);gap:12px;display:grid}.metric{background:#ffffffd6;border:1px solid #3a566121;border-radius:8px;min-height:86px;padding:16px}.metric span{color:#197fe6;font-size:2rem;font-weight:850;line-height:1;display:block}.metric p{margin:7px 0 0}.metric.wide{align-items:center;gap:10px;display:flex}.metric.wide svg{color:#16805f;flex:none}.empty-state{text-align:center;place-items:center;min-height:420px;padding:40px;display:grid}.empty-state svg{color:#197fe6}.result-card{overflow:hidden}.result-header{border-bottom:1px solid #dde8ec;justify-content:space-between;gap:18px;padding:24px;display:flex}.patient-meta{color:#5d707d;flex-wrap:wrap;gap:12px;display:flex}.patient-meta span,.inline-ok,.inline-wait{align-items:center;gap:6px;display:inline-flex}.status-pill{border-radius:8px;align-self:start;padding:7px 12px;font-size:.84rem;font-weight:850}.status-pill.success{color:#0e6245;background:#dff7eb}.status-pill.warning{color:#7b4b00;background:#fff1c7}.status-pill.neutral{color:#455765;background:#e9eff2}.exam-summary{background:#dde8ec;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.exam-summary div{background:#f8fbfc;padding:16px 24px}.exam-summary p{margin-bottom:5px;font-size:.82rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid #e5edf0;padding:16px 24px}th{color:#526674;text-transform:uppercase;font-size:.8rem}.inline-ok{color:#0e6245;font-weight:800}.inline-wait{color:#77520a;font-weight:800}.notes{background:#f8fbfc;padding:18px 24px}.notes p{margin:5px 0 0}.result-actions{justify-content:flex-end;gap:10px;padding:18px 24px 24px;display:flex}.result-actions button{color:#16313b;background:#eef4f6;width:auto;padding:0 16px;font-weight:800}.result-actions .primary-button{color:#fff;background:#197fe6}.exam-section{align-content:start}.exam-lookup,.exam-order{background:#fffffff0;border:1px solid #3a566124;border-radius:8px;box-shadow:0 20px 45px #1f374321}.exam-lookup{padding:22px}.exam-lookup-form{grid-template-columns:minmax(0,1fr) minmax(150px,180px);align-items:end}.exam-list{gap:12px;display:grid}.exam-order{overflow:hidden}.exam-order-summary{color:#17212b;text-align:left;background:#fff;border:0;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:68px;padding:14px 16px;display:grid}.exam-expand-icon{color:#526674;place-items:center;display:grid}.exam-order-summary strong,.exam-order-summary small{overflow-wrap:anywhere;display:block}.exam-order-summary small,.exam-muted{color:#5f7180}.exam-status{text-align:center;border-radius:8px;min-width:116px;padding:7px 10px;font-size:.82rem;font-weight:850}.exam-status.success{color:#0e6245;background:#dff7eb}.exam-status.warning{color:#7b4b00;background:#fff1c7}.exam-status.neutral{color:#455765;background:#e9eff2}.exam-status.blocked{color:#7a3f00;background:#ffe8cf}.exam-status.error{color:#8a341f;background:#fff0ea}.exam-order-meta{color:#5d707d;flex-wrap:wrap;gap:10px 14px;padding:0 16px 14px 48px;font-size:.9rem;display:flex}.exam-order-meta span,.exam-contact,.secondary-button,.exam-actions a{align-items:center;gap:7px;display:inline-flex}.exam-detail{background:#f8fbfc;border-top:1px solid #dde8ec}.exam-detail-header{justify-content:space-between;gap:12px;padding:16px;display:flex}.exam-detail-header p,.exam-notes p{color:#5f7180;margin-bottom:5px}.exam-items{background:#dde8ec;gap:1px;display:grid}.exam-item{background:#fff;grid-template-columns:minmax(0,1.2fr) minmax(120px,.6fr) minmax(110px,.5fr);gap:10px;padding:13px 16px;display:grid}.exam-item span,.exam-item strong,.exam-item small{overflow-wrap:anywhere}.exam-item strong{color:#0e6245}.exam-item small{color:#5f7180}.exam-notes,.exam-contact{background:#fff;border:1px solid #d9e5ea;border-radius:8px;margin:14px 16px 0;padding:12px}.exam-contact{color:#455765;justify-content:space-between}.exam-contact a{color:#197fe6;font-weight:850;text-decoration:none}.exam-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:16px;display:flex}.secondary-button,.exam-actions a{color:#16313b;background:#eef4f6;border:1px solid #d6e3e8;border-radius:8px;justify-content:center;min-height:42px;padding:0 14px;font-weight:800;text-decoration:none}.exam-actions .primary-button{width:auto;min-height:42px;padding:0 16px}@media (width<=850px){.app-shell{padding:16px}.workspace,.metrics-row,.exam-summary,.exam-lookup-form,.agenda-grid,.notification-layout,.appointment-card,.notification-item,.cep-row,.exam-item{grid-template-columns:1fr}.topbar{align-items:flex-start}.result-header,.result-actions{flex-direction:column}.result-actions button{width:100%}.exam-order-summary{grid-template-columns:22px minmax(0,1fr)}.exam-status{grid-column:2;width:max-content;max-width:100%}.exam-order-meta{padding-left:16px}.exam-detail-header,.exam-contact,.exam-actions,.appointment-actions,.slot-option,.support-actions{flex-direction:column;align-items:stretch}.exam-actions .primary-button,.exam-actions a,.secondary-button{width:100%}.available-day,.slot-option{grid-template-columns:minmax(92px,max-content) minmax(0,1fr)}.available-day strong,.slot-option strong{text-align:left;grid-column:1/-1;justify-self:stretch;padding-top:4px}.slot-suggestion{grid-template-columns:1fr}.compact-action{width:100%}.appointment-confirmation dl div{grid-template-columns:1fr;gap:3px}.confirmation-actions{flex-direction:column}}@media print{.topbar,.lookup-panel,.metrics-row,.result-actions{display:none}.app-shell{background:#fff;padding:0}.workspace{display:block}.result-card{box-shadow:none;border:0}}
