:root{color:#13243a;font-synthesis:none;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f4f7fb;min-width:1180px;margin:0}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:242px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#102f57;flex-direction:column;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1f;align-items:center;gap:12px;padding:0 8px 26px;display:flex}.brand-mark{color:#12355f;background:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.brand strong{letter-spacing:.8px;font-size:13px;display:block}.brand span{color:#a9bdd3;font-size:12px}.sidebar nav{gap:7px;padding-top:20px;display:grid}.nav{color:#c8d7e7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;gap:11px;padding:12px 13px;display:flex}.nav:hover,.nav.active{color:#fff;background:#1c4777}.nav span{font-weight:650}.sidebar-footer{border-top:1px solid #ffffff1f;align-items:center;gap:10px;margin-top:auto;padding:18px 8px 0;display:flex}.sidebar-footer strong,.sidebar-footer span{display:block}.sidebar-footer strong{font-size:13px}.sidebar-footer span{color:#a9bdd3;font-size:11px}.user-avatar{color:#173c67;background:#dfe9f4;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:800;display:grid}main{min-width:0;padding:0 26px 32px}.topbar{justify-content:space-between;align-items:center;height:92px;display:flex}.topbar h1{margin:0 0 3px;font-size:27px}.topbar p{color:#708096;margin:0;font-size:13px}.top-controls{gap:10px;display:flex}.top-controls select,.top-controls input,.search-card input,.modal select,.modal textarea{color:#23354a;background:#fff;border:1px solid #d8e1eb;border-radius:10px;padding:10px 12px}.primary{color:#fff;cursor:pointer;background:#1769aa;border:0;border-radius:10px;padding:11px 16px;font-weight:750}.summary-grid{grid-template-columns:160px 160px 190px minmax(330px,1fr);gap:12px;margin-bottom:14px;display:grid}.metric,.search-card{background:#fff;border:1px solid #e2e8f0;border-radius:13px;box-shadow:0 3px 12px #1d36530a}.metric{padding:13px 15px}.metric span{color:#7b8797;text-transform:uppercase;letter-spacing:.4px;font-size:11px;display:block}.metric strong{font-size:24px}.search-card{padding:8px;position:relative}.search-card input{background:#f7f9fc;border:0;outline:none;width:100%}.search-results{z-index:20;background:#fff;border:1px solid #dfe6ee;border-radius:12px;padding:6px;position:absolute;top:58px;left:0;right:0;box-shadow:0 15px 40px #13253a29}.search-results button{text-align:left;cursor:pointer;background:#fff;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px;display:flex}.search-results button:hover{background:#f3f7fb}.search-results strong,.search-results small{display:block}.search-results small{color:#8090a3;margin-top:2px}.mini-avatar{color:#19446f;background:#e7eef7;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.workspace{grid-template-columns:minmax(650px,1fr) 380px;align-items:start;gap:14px;display:grid}.calendar-panel,.patient-panel{background:#fff;border:1px solid #e2e8f0;border-radius:15px;box-shadow:0 5px 18px #1d36530d}.panel-head{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.panel-head h2{margin:0;font-size:17px}.panel-head span{color:#7b8999;font-size:12px}.view-toggle{background:#f0f4f8;border-radius:9px;padding:3px}.view-toggle button{color:#5f7083;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:6px 11px}.view-toggle button.active{color:#1d4d78;background:#fff;box-shadow:0 1px 4px #283d521a}.timeline{padding:3px 0 12px}.slot{border-bottom:1px solid #eef2f6;grid-template-columns:72px 1fr;align-items:center;gap:6px;min-height:59px;padding:7px 12px;display:grid}.slot time{color:#8491a0;text-align:center;font-size:12px}.free-slot{color:#9aa8b6;cursor:pointer;background:#fafcfe;border:1px dashed #ccd8e4;border-radius:9px;height:42px}.free-slot:hover{color:#286b9f;background:#f4f9fd;border-color:#4c8fc7}.appointment{text-align:left;cursor:pointer;border:0;border-left:4px solid;border-radius:9px;align-items:center;width:100%;height:46px;padding:7px 11px;display:flex}.appointment.confirmed{background:#eef8f4;border-color:#35a57b}.appointment.waiting,.appointment.scheduled{background:#fff8e7;border-color:#df9c21}.appointment.arrived{background:#eef5ff;border-color:#4b82c5}.appointment.service{background:#f0efff;border-color:#7866d5}.appointment.completed{background:#f1f4f7;border-color:#7f8b97}.appointment.noshow{background:#fff4e8;border-color:#d97706}.appointment.cancelled{background:#ffe9e9;border-color:#b42318}.appointment.patient-cancelled{background:#fff0f6;border-color:#c24173}.appointment.reschedule-requested{background:#f4efff;border-color:#7c3aed}.appointment.rescheduled{background:#f8f1ff;border-color:#9a6bc2}.appt-time{color:#39536e;width:55px;font-weight:800}.appt-main{flex:1;display:block}.appt-main strong,.appt-main small{display:block}.appt-main strong{font-size:13px}.appt-main small{color:#718092;margin-top:2px;font-size:11px}.status-pill{background:#fffc;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:800}.patient-panel{padding:18px;position:sticky;top:16px}.patient-head{border-bottom:1px solid #e8edf2;align-items:center;gap:12px;padding-bottom:16px;display:flex}.patient-avatar{color:#163e68;background:#dce9f5;border-radius:16px;place-items:center;width:58px;height:58px;font-size:20px;font-weight:900;display:grid}.patient-head h2{margin:0 0 5px;font-size:17px;line-height:1.2}.patient-head span{color:#8190a1;font-size:11px}.info-grid{grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;display:grid}.info-grid label{color:#7c8998;text-transform:uppercase;font-size:10px}.info-grid strong{color:#23364b;text-transform:none;margin-top:3px;font-size:12px;display:block}.section-block{border-top:1px solid #e8edf2;padding:14px 0}.section-block h3{text-transform:uppercase;color:#617284;letter-spacing:.4px;margin:0 0 7px;font-size:12px}.section-block p{color:#394b60;margin:0;font-size:13px}.history{border-bottom:1px solid #eef2f5;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.history strong,.history small{display:block}.history strong{font-size:12px}.history small{color:#7d8b9b;margin-top:2px;font-size:11px}.history em{background:#eef3f8;border-radius:12px;padding:4px 7px;font-size:10px;font-style:normal}.quick-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.quick-actions a,.quick-actions button,.actions button{color:#285a84;text-align:center;cursor:pointer;background:#fff;border:1px solid #ccd8e4;border-radius:9px;padding:9px;font-weight:700;text-decoration:none}.quick-actions a{color:#21724f;background:#eff8f4;border-color:#cfe9dc}.actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;display:grid}.actions .danger{color:#a33a3a;background:#fff5f5;border-color:#efc5c5}.toast{z-index:100;color:#fff;background:#123d68;border-radius:10px;padding:11px 16px;position:fixed;top:18px;right:28px;box-shadow:0 10px 30px #112e4d38}.modal-backdrop{z-index:200;background:#0a1c2e73;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:580px;padding:20px;box-shadow:0 22px 70px #081e374d}.modal-head{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:start;padding-bottom:12px;display:flex}.modal-head h2{margin:0;font-size:19px}.modal-head p{color:#758496;margin:4px 0 0;font-size:12px}.modal-head button{cursor:pointer;background:#eef3f7;border:0;border-radius:8px;width:32px;height:32px;font-size:20px}.modal form{gap:14px;padding-top:16px;display:grid}.modal label{color:#526477;font-size:12px;font-weight:700}.modal label select,.modal label textarea{width:100%;margin-top:5px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.modal-actions{border-top:1px solid #edf1f5;justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.modal-actions>button:not(.primary){cursor:pointer;background:#fff;border:1px solid #d5dee7;border-radius:9px;padding:10px 14px}.empty{text-align:center;color:#8795a5;padding:40px}@media (width<=1280px){body{min-width:1040px}.app-shell{grid-template-columns:205px 1fr}.workspace{grid-template-columns:1fr 330px}.summary-grid{grid-template-columns:145px 145px 180px 1fr}}.login-page{background:#f4f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #dbe3ec;border-radius:18px;width:min(440px,100%);padding:30px;box-shadow:0 18px 50px #142d4b14}.login-card h1{margin:22px 0 6px}.login-card p{color:#667085}.login-card form{gap:14px;margin-top:22px;display:grid}.login-card label{gap:6px;font-weight:600;display:grid}.login-card input{border:1px solid #cbd5e1;border-radius:10px;padding:12px}.login-card .primary{border:0;border-radius:10px;padding:12px}.link-button,.signout{color:#2b6cb0;cursor:pointer;background:0 0;border:0;padding:8px 0}.notice{background:#fff7dd;border:1px solid #ead38c;border-radius:9px;margin-top:12px;padding:10px}.login-brand{color:#163a66}.patient-create input{color:#23354a;background:#fff;border:1px solid #d8e1eb;border-radius:10px;width:100%;margin-top:5px;padding:10px 12px}.patient-form-note{color:#53677c;background:#f4f8fc;border:1px solid #dae6f2;border-radius:10px;padding:11px 12px;font-size:12px}.top-controls .primary{white-space:nowrap}.patients-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.patients-toolbar>span{color:#738397;font-size:12px}.patients-search{background:#fff;border:1px solid #e2e8f0;border-radius:13px;flex:1;padding:8px}.patients-search input{background:#f7f9fc;border:0;border-radius:9px;outline:0;width:100%;padding:11px 13px}.patients-page{grid-template-columns:minmax(480px,.9fr) minmax(500px,1.1fr);gap:14px;display:grid}.patient-list-card,.patient-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:15px;min-height:620px;box-shadow:0 5px 18px #1d36530d}.patient-list-head{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.patient-row{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf1f5;align-items:center;gap:12px;width:100%;padding:13px 16px;display:flex}.patient-row:hover,.patient-row.selected{background:#f5f9fd}.patient-row-main{flex:1}.patient-row-main strong,.patient-row-main small{display:block}.patient-row-main small{color:#7b8999;margin-top:3px;font-size:11px}.patient-detail-card{padding:22px}.patient-detail-head{border-bottom:1px solid #edf1f5;align-items:center;gap:14px;padding-bottom:18px;display:flex}.patient-detail-head h2{margin:0}.patient-detail-head p{color:#738397;margin:4px 0 0;font-size:12px}.patient-avatar.large{width:72px;height:72px;font-size:23px}.detail-sections{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.detail-sections section{border:1px solid #e5ebf1;border-radius:12px;padding:14px}.detail-sections h3{color:#53677c;text-transform:uppercase;margin:0 0 10px;font-size:12px}.detail-sections p{color:#30445a;font-size:13px}.detail-sections dl{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.detail-sections dt{color:#8090a2;text-transform:uppercase;font-size:10px}.detail-sections dd{margin:3px 0 0;font-size:12px;font-weight:700}.patient-full-modal{width:min(820px,92vw)}.patient-tabs{border-bottom:1px solid #edf1f5;gap:5px;padding:14px 0 0;display:flex}.patient-tabs button{color:#66788b;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:9px 12px;font-weight:700}.patient-tabs button.active{color:#1769aa;border-bottom-color:#1769aa}.tab-pane{gap:14px;display:grid}.tab-pane.hidden{display:none}.patient-create input,.patient-create select{color:#23354a;background:#fff;border:1px solid #d8e1eb;border-radius:10px;width:100%;margin-top:5px;padding:10px 12px}.patient-create input[readonly]{color:#6e7d8c;background:#f4f6f8}.checks{background:#f7f9fc;border-radius:10px;gap:22px;padding:12px;display:flex}.checks label{align-items:center;gap:7px;display:flex}.checks input{width:auto;margin:0}.form-section-title{text-transform:uppercase;color:#62758a;margin:3px 0 -4px;font-size:12px}.phone-grid{grid-template-columns:100px 1fr}.patient-name-line,.patient-row-name,.search-result-name{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.patient-name-line h2{margin:0}.age-badge{color:#36536f;white-space:nowrap;background:#eef4fa;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.age-badge.pediatric{color:#805900;background:#fff5df;border:1px solid #f1d28d}.child-icon{filter:saturate(.85);font-size:15px;line-height:1}.patient-row-name .age-badge,.search-result-name .age-badge{padding:2px 6px;font-size:11px}.detail-name{margin-bottom:2px}.appointment-create{width:min(720px,100vw - 32px);max-height:90vh;overflow:auto}.appointment-create textarea{box-sizing:border-box;width:100%;font:inherit;resize:vertical;border:1px solid #d9e0e7;border-radius:10px;padding:10px}.appointment-create form{gap:14px;display:grid}.appointment-create label{color:#334155;gap:6px;font-size:13px;font-weight:600;display:grid}.appointment-create select,.appointment-create input{box-sizing:border-box;width:100%}.consultation-item{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:flex-start;gap:12px;padding:9px 0;display:flex}.consultation-item:last-child{border-bottom:0}.consultation-item strong,.consultation-item small{display:block}.consultation-item strong{color:#263b51;font-size:12px}.consultation-item small{color:#7b8999;margin-top:3px;font-size:11px}.consultation-item>span{white-space:nowrap;color:#42566d;background:#eef3f8;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.muted{color:#8290a0!important;font-size:12px!important}.full-record-button{color:#285a84;cursor:pointer;background:#f8fbfe;border:1px solid #ccd8e4;border-radius:9px;width:100%;margin-top:10px;padding:9px;font-weight:700}.edit-patient-button{color:#285a84;cursor:pointer;background:#fff;border:1px solid #cbd8e5;border-radius:9px;margin-left:auto;padding:9px 12px;font-weight:750}.edit-patient-button:hover{background:#f4f8fc}.required-note{border-left:3px solid #1769aa}.patient-create label{position:relative}.timeline .slot{min-height:44px;padding:4px 12px}.timeline .free-slot{height:34px}.timeline .appointment{height:38px}.occupied-row{background:#f8fafc}.occupied-slot{color:#708092;background:#eef2f6;border:1px solid #e1e7ee;border-radius:8px;align-items:center;height:32px;padding:0 12px;font-size:11px;display:flex}.history-with-actions{padding:10px 0!important;display:block!important}.history-main{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.appointment-actions-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.appointment-actions-compact button{color:#174a76;cursor:pointer;background:#fff;border:1px solid #cbd8e6;border-radius:8px;min-height:34px;padding:6px 8px;font-size:12px;font-weight:700}.appointment-actions-compact button:disabled{opacity:.5;cursor:default}.appointment-actions-compact .danger{color:#a12626;background:#fff6f6;border-color:#f2b9b9;grid-column:1/-1}.version-badge{color:#123b66;vertical-align:middle;background:#dbeafe;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:800;display:inline-block}.history-with-actions{background:#fff;border:1px solid #cbd5e1;border-radius:10px;margin-bottom:10px;padding:10px}.appointment-actions-compact{border-top:1px solid #e5e7eb;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;padding-top:8px;display:grid}.appointment-actions-compact .danger{grid-column:1/-1}.consultation-item-actionable{grid-template-columns:1fr auto;align-items:start;gap:10px;display:grid}.consultation-item-actionable .consultation-actions{grid-column:1/-1;margin-top:4px}.status-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.status-actions .status-btn{color:#17324d;border-width:1px}.status-actions .scheduled-btn{color:#7a5300;background:#fff8e1;border-color:#e0a11b}.status-actions .confirmed-btn{color:#176044;background:#eaf8f1;border-color:#2f9d72}.status-actions .patient-cancelled-btn{color:#8f2450;background:#fff0f6;border-color:#c24173}.status-actions .noshow-btn{color:#8a4a00;background:#fff3e4;border-color:#d97706}.status-actions .cancelled-btn{color:#8f1711;background:#ffeaea;border-color:#b42318}.status-actions .reschedule-request-btn{color:#5b21b6;background:#f3efff;border-color:#7c3aed}.status-actions .status-btn:disabled{opacity:.48}.agenda-patient-line{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex!important}.agenda-meta{color:#52677c;white-space:nowrap;background:#ffffffb8;border-radius:12px;padding:2px 6px;font-size:11px;font-weight:700}.patient-combobox{position:relative}.patient-search-input{padding-right:82px!important}.patient-search-loading{color:#6b7d90;pointer-events:none;font-size:11px;font-weight:600;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.patient-search-results{z-index:50;background:#fff;border:1px solid #cfd9e4;border-radius:10px;max-height:280px;padding:5px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto;box-shadow:0 14px 34px #1a345029}.patient-search-results button{text-align:left;cursor:pointer;color:#23354a;background:#fff;border:0;border-radius:8px;width:100%;padding:9px 10px;display:block}.patient-search-results button:hover{background:#f2f7fb}.patient-search-results button strong{font-size:13px}.patient-search-results button small{color:#718196;margin-top:4px;font-size:11px;font-weight:500;display:block}.patient-search-empty{color:#7b8999;padding:12px;font-size:12px;font-weight:500}.module-backdrop{align-items:flex-start;padding:34px 22px;overflow:auto}.module-modal{width:min(1180px,96vw);max-height:calc(100vh - 68px);overflow:auto}.module-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:14px 0;display:flex}.module-metrics{flex-wrap:wrap;gap:10px;display:flex}.module-metrics span,.confirmation-summary span{color:#53677c;background:#f5f8fb;border:1px solid #dde6ef;border-radius:10px;padding:9px 12px;font-size:12px}.module-metrics strong,.confirmation-summary b{color:#173b61;margin-right:5px;font-size:18px}.wait-list,.confirmation-list{gap:10px;display:grid}.wait-card{background:#fff;border:1px solid #dfe7ef;border-radius:12px;grid-template-columns:minmax(300px,1fr) auto;gap:10px 16px;padding:14px;display:grid}.wait-main small{color:#718196;margin-top:5px;display:block}.wait-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wait-priority,.wait-status{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.priority-0{background:#eef3f8}.priority-1{color:#8a5a00;background:#fff4dc}.priority-2{color:#9b1c1c;background:#ffe9e9}.wait-status{background:#eef3f8;align-self:start}.wait-contacted{color:#235f9a;background:#e9f2ff}.wait-no_response{color:#8a5a00;background:#fff3df}.wait-scheduled{color:#176044;background:#e8f7ef}.wait-declined{color:#6f3c88;background:#f3edf8}.wait-actions{flex-wrap:wrap;grid-column:1/-1;gap:7px;display:flex}.wait-actions button{color:#24577f;cursor:pointer;background:#fff;border:1px solid #ccd8e4;border-radius:8px;padding:7px 10px;font-weight:700}.module-empty{text-align:center;color:#7b8999;background:#f8fafc;border-radius:12px;padding:32px}.waiting-form{width:min(720px,94vw)}.waiting-form form{gap:14px;display:grid}.waiting-form label{gap:6px;font-size:13px;font-weight:650;display:grid}.waiting-form select,.waiting-form input,.waiting-form textarea{font:inherit;border:1px solid #d5dee8;border-radius:9px;padding:10px}.weekday-picks{background:#f7f9fc;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.weekday-picks>span{margin-right:5px;font-weight:700}.weekday-picks label{align-items:center;gap:4px;font-size:12px;display:flex}.confirm-filters{flex-wrap:wrap;gap:7px;margin:14px 0;display:flex}.confirm-filters button{color:#46627d;cursor:pointer;background:#fff;border:1px solid #cbd8e6;border-radius:9px;padding:8px 12px;font-weight:700}.confirm-filters button.active{color:#fff;background:#173f68;border-color:#173f68}.confirm-filters .refresh-confirm{margin-left:auto}.confirmation-summary{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.confirmation-card{background:#fff;border:1px solid #dde6ef;border-left:6px solid #d7a72a;border-radius:11px;grid-template-columns:120px minmax(260px,1fr) auto auto;align-items:center;gap:10px;padding:12px;display:grid}.confirmation-card.confirmed{border-left-color:#2f9d72}.confirmation-card.reschedule-requested{border-left-color:#7c3aed}.confirmation-time strong,.confirmation-time span{display:block}.confirmation-time span{color:#63768b;margin-top:3px;font-size:12px}.confirmation-patient strong,.confirmation-patient small{display:block}.confirmation-patient small{color:#6c7d90;margin-top:4px}.confirmation-status{background:#f1f4f7;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.whatsapp-action{color:#176944;cursor:pointer;background:#effaf5;border:1px solid #9bd6bc;border-radius:8px;padding:8px 11px;font-weight:800}.confirmation-card .appointment-actions-compact{grid-column:1/-1;grid-template-columns:repeat(6,minmax(110px,1fr));margin-top:0}.confirmation-card .appointment-actions-compact .danger{grid-column:auto}@media (width<=900px){.confirmation-card{grid-template-columns:1fr}.confirmation-card .appointment-actions-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.wait-card{grid-template-columns:1fr}}.mfa-card{max-width:440px}.mfa-qr-wrap{justify-content:center;margin:18px 0;display:flex}.mfa-qr{background:#fff;border:1px solid #dbe4ee;border-radius:12px;width:220px;height:220px;padding:10px}.mfa-secret{margin:8px 0 16px;font-size:12px}.mfa-secret code{word-break:break-all;background:#f5f7fa;border-radius:8px;margin-top:8px;padding:10px;display:block}.mfa-card input[inputmode=numeric]{letter-spacing:8px;text-align:center;font-size:24px;font-weight:700}.patient-avatar,.mini-avatar{overflow:hidden}.patient-avatar img,.mini-avatar img{object-fit:cover;width:100%;height:100%;display:block}.patient-full-modal{max-height:92vh;overflow:auto}.patient-photo-editor{background:#f8fbfe;border:1px solid #dfe7ef;border-radius:13px;grid-template-columns:132px 1fr;align-items:center;gap:16px;padding:12px;display:grid}.patient-photo-preview{color:#19446f;cursor:pointer;background:#e7eef7;border:1px solid #c8d7e5;border-radius:18px;place-items:center;width:120px;height:120px;padding:0;font-size:34px;font-weight:900;display:grid;overflow:hidden}.patient-photo-preview:hover{box-shadow:0 0 0 3px #1769aa1a}.patient-photo-preview img{object-fit:cover;width:100%;height:100%;display:block}.patient-photo-controls{gap:7px;display:grid}.patient-photo-controls>strong{color:#263b51;font-size:14px}.patient-photo-controls>small{color:#718196;font-size:11px;line-height:1.45}.patient-photo-buttons{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.patient-photo-buttons button,.camera-actions>button:not(.primary){color:#24577f;cursor:pointer;background:#fff;border:1px solid #cbd8e6;border-radius:8px;padding:8px 10px;font-weight:700}.patient-photo-buttons .remove-photo{color:#9b1c1c;background:#fff7f7;border-color:#efc4c4}.patient-photo-buttons button:disabled,.camera-actions button:disabled{opacity:.5;cursor:default}.hidden-photo-input{display:none!important}.camera-capture{background:#0f2237;border:1px solid #d9e4ee;border-radius:12px;gap:10px;padding:12px;display:grid}.camera-capture video{object-fit:cover;background:#07111d;border-radius:10px;width:100%;max-height:380px;transform:scaleX(-1)}.camera-actions{justify-content:center;gap:8px;display:flex}.camera-capture>small{color:#c7d5e3;text-align:center;font-size:11px}.camera-error{color:#8f1711!important;background:#fff5f5!important;border-left:3px solid #b42318!important}@media (width<=900px){.patient-photo-editor{grid-template-columns:1fr}.patient-photo-preview{margin:auto}}.consultation-count{color:#123b67;background:#e8f1fb;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:6px;padding:0 7px;font-size:12px;font-weight:800;display:inline-flex}.consultations-section{max-height:420px;overflow:auto}.consultations-section h3{z-index:2;background:#fff;padding-bottom:8px;position:sticky;top:0}.patient-head-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.import-photo-button{color:#123b67;cursor:pointer;background:#f3f7fb;border:1px solid #b9cbe0;border-radius:8px;padding:9px 12px;font-weight:700}.import-photo-button:hover{background:#e8f1fb}.patient-panel{max-height:calc(100vh - 32px);overflow:auto}.legacy-history,.legacy-consultation-item{background:#f8fafc;border-left:3px solid #9aa9b8}.legacy-history em,.legacy-consultation-item>span{white-space:nowrap}.agenda-patient-link,.occupied-patient-link{color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:800}.agenda-patient-link:hover,.agenda-patient-link:focus-visible,.occupied-patient-link:hover,.occupied-patient-link:focus-visible{color:#0f5f9d;outline:none;text-decoration:underline}.occupied-patient-link{font-size:11px;font-weight:750}
