:root{--bg:#f3f7fb;--surface:#fff;--surface-2:#f8fbff;--text:#122033;--muted:#66758a;--line:#dbe5ef;--primary:#0b6bc8;--primary-strong:#0757a4;--danger:#b42318;--success:#177245;--warning:#9a6700;--shadow:0 12px 36px #10305014;--radius:16px}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(1.75rem,2vw,2.4rem)}h2{margin-bottom:0;font-size:1.2rem}h3{margin-bottom:0;font-size:1rem}.loading-page,.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-shell{background:radial-gradient(circle at 20% 10%,#d8ebff 0,#0000 35%),linear-gradient(135deg,#f7fbff,#eef5fb)}.login-card{width:min(430px,100%);padding:34px}.brand-mark{color:#fff;letter-spacing:-.03em;width:54px;height:54px;box-shadow:var(--shadow);background:linear-gradient(135deg,#0b6bc8,#18a0d6);border-radius:15px;place-items:center;margin-bottom:18px;font-weight:800;display:grid}.brand-mark.small{border-radius:12px;flex:none;width:42px;height:42px;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--primary);margin-bottom:6px;font-size:.72rem;font-weight:800}.muted{color:var(--muted)}.small-text{font-size:.86rem}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#0c223a;flex-direction:column;gap:28px;height:100vh;padding:22px 16px;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:0 8px;display:flex}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand span{color:#a9bdd2;margin-top:2px;font-size:.82rem}.nav-list{gap:6px;display:grid}.nav-item{color:#c6d5e4;text-align:left;background:0 0;border:0;border-radius:10px;width:100%;padding:12px 14px;font-weight:650}.nav-item:hover,.nav-item.active{color:#fff;background:#173a5d}.sidebar-user{border-top:1px solid #28445f;gap:12px;margin-top:auto;padding:16px 8px 0;display:grid}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user strong{font-size:.9rem}.sidebar-user span{color:#a9bdd2;margin-top:3px;font-size:.76rem}.sidebar .btn-ghost{color:#d9e6f2;border-color:#365572}.main-shell{min-width:0}.page{max-width:1500px;margin:0 auto;padding:30px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.stack{gap:16px;display:grid}.stack-lg{gap:22px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.detail-grid,.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:start;gap:20px;display:grid}.new-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.new-patient-card{grid-column:1/-1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.subcard{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:16px}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-pad{padding:20px 20px 0}.btn{appearance:none;border:1px solid #0000;border-radius:10px;padding:10px 15px;font-weight:750;transition:all .16s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-secondary{color:#0b5ca9;background:#e8f2fb;border-color:#c8ddf0}.btn-danger{color:var(--danger);background:#fff0ee;border-color:#f0c6c1}.btn-ghost{color:var(--primary);border-color:var(--line);background:0 0}.icon-btn{color:var(--muted);background:0 0;border:0;font-size:1.8rem;line-height:1}.field{gap:7px;display:grid}.field-label{color:#34465c;font-size:.83rem;font-weight:750}.field-hint{color:var(--muted);font-size:.74rem}.input{width:100%;min-height:42px;color:var(--text);background:#fff;border:1px solid #cfdbe7;border-radius:10px;outline:none;padding:9px 11px}.input:focus{border-color:#6aa8df;box-shadow:0 0 0 3px #0b6bc81a}.input:disabled{color:#778494;background:#f0f3f6}.textarea{resize:vertical;min-height:88px}.inline-search{align-items:stretch;gap:10px;display:flex}.inline-search .input{flex:1}.filters{grid-template-columns:155px minmax(180px,.8fr) 150px 150px minmax(240px,1.3fr);gap:10px;display:grid}.filter-search{min-width:0}.alert{border:1px solid;border-radius:11px;gap:2px;padding:12px 14px;font-size:.88rem;display:grid}.alert-danger{color:#8d1c14;background:#fff2f1;border-color:#efc0bc}.alert-success{color:#17643f;background:#edf9f3;border-color:#bbe3cf}.alert-info{color:#14588f;background:#eef7ff;border-color:#c5dff4}.badge{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;padding:5px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.badge-neutral{color:#596574;background:#eef1f4}.badge-info{color:#095b9f;background:#e8f3ff}.badge-success{color:#17643f;background:#e8f7ef}.badge-warning{color:#805600;background:#fff5d9}.badge-danger{color:#9a2017;background:#ffefed}.loading{min-height:120px;color:var(--muted);justify-content:center;align-items:center;gap:10px;display:flex}.spinner{border:2px solid #c9d6e2;border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;min-height:150px;color:var(--muted);border:1px dashed #c8d5e1;border-radius:14px;place-content:center;gap:5px;padding:24px;display:grid}.empty strong{color:var(--text)}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.metric-grid .card{gap:8px;display:grid}.metric-grid span{color:var(--muted);font-size:.82rem}.metric-grid strong{font-size:1.6rem}.compact-list{display:grid}.compact-list>div{border-bottom:1px solid #e6edf4;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.compact-list>div:last-child{border-bottom:0}.compact-list strong,.compact-list span{display:block}.compact-list div div span{color:var(--muted);margin-top:2px;font-size:.8rem}.table-card{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:800px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f8fbfd;font-size:.73rem}th,td{vertical-align:middle;border-bottom:1px solid #e6edf4;padding:13px 14px}td{font-size:.87rem}tbody tr:hover{background:#fbfdff}.table-sub{color:var(--muted);margin-top:2px;font-size:.75rem;display:block}.service-list,.history-list,.patient-results,.schedule-list,.check-list,.service-picker{gap:8px;display:grid}.service-list>div{border-bottom:1px solid #e5edf4;justify-content:space-between;padding:9px 0;display:flex}.service-list>div:last-child{border-bottom:0}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.info-grid>div{background:#f8fbfd;border:1px solid #e2eaf2;border-radius:10px;padding:11px}.info-grid span,.info-grid strong{display:block}.info-grid span{color:var(--muted);margin-bottom:3px;font-size:.72rem}.service-option{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:11px;display:flex}.service-option.selected{background:#f1f8ff;border-color:#8bbbe3}.service-option label{cursor:pointer;flex:1;align-items:center;gap:10px;display:flex}.service-option span,.service-option strong,.service-option small{display:block}.service-option small{color:var(--muted);margin-top:2px}.service-option>.input{width:86px}.summary-strip{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding-top:13px;display:flex}.patient-results{border:1px solid var(--line);border-radius:12px;max-height:220px;padding:6px;overflow:auto}.patient-results button{text-align:left;background:#fff;border:0;border-radius:8px;padding:10px}.patient-results button:hover{background:#f0f7fd}.patient-results strong,.patient-results span{display:block}.patient-results span{color:var(--muted);margin-top:2px;font-size:.77rem}.check-row{cursor:pointer;border:1px solid #e0e8f0;border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.check-row strong,.check-row small{display:block}.check-row small{color:var(--muted);margin-top:2px}.schedule-row{grid-template-columns:135px 110px 110px 100px 1fr auto;align-items:center;gap:8px;display:grid}.tabs{border:1px solid var(--line);background:#fff;border-radius:12px;gap:6px;width:fit-content;padding:5px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:9px 14px;font-weight:700}.tabs button.active{color:var(--primary);background:#eaf4fd}.history-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.history-list>div>div{gap:3px;display:grid}.history-list span{color:var(--muted);font-size:.78rem}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0717277a;padding:30px;position:fixed;inset:0;overflow:auto}.modal{background:#fff;border-radius:18px;width:min(680px,100%);margin:4vh auto;box-shadow:0 24px 80px #0003}.modal-wide{width:min(1120px,100%)}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.modal-header h2{font-size:1.1rem}.modal-body{padding:20px}@media (max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-search{grid-column:1/-1}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid,.admin-grid{grid-template-columns:1fr}.schedule-row{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.app-shell{display:block}.sidebar{gap:12px;width:100%;height:auto;padding:12px;position:static}.nav-list{display:flex;overflow-x:auto}.nav-item{white-space:nowrap;width:auto}.sidebar-user{display:none}.page{padding:18px 12px 90px}.page-header{flex-direction:column}.new-grid,.grid-2,.info-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr}.filter-search{grid-column:auto}.inline-search{flex-direction:column}.modal-backdrop{padding:8px}.modal{margin:1vh auto}.schedule-row{grid-template-columns:1fr 1fr}.tabs{width:100%;overflow-x:auto}}.report-filters{grid-template-columns:145px 145px minmax(200px,1fr) 160px 160px auto}.report-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (max-width:1200px){.report-filters,.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.report-filters,.report-grid{grid-template-columns:1fr}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.cash-toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.cash-toolbar .field{width:min(260px,100%)}.cash-status{padding-bottom:9px}.cash-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.cash-metrics small{color:var(--muted)}.cash-close-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cash-difference{margin:5px 0 3px;font-size:1.5rem;display:block}@media (max-width:980px){.cash-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.cash-toolbar{flex-direction:column;align-items:stretch}.cash-toolbar .field{width:100%}.cash-status{padding-bottom:0}.cash-metrics,.cash-close-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.schedule-copy{border:1px solid var(--line);background:#f8fbfd;border-radius:12px;grid-template-columns:auto minmax(140px,190px) auto minmax(140px,190px) auto;align-items:center;gap:10px;padding:12px;display:grid}.weekly-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.weekly-day-card{align-content:start}.weekly-day-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.weekly-day-header strong,.weekly-day-header span{display:block}.weekly-day-header span{color:var(--muted);margin-top:3px;font-size:.78rem}.weekly-day-rows{gap:10px;display:grid}.weekly-slot{border:1px solid var(--line);border-radius:12px;gap:9px;padding:10px;display:grid}.weekly-time{grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;display:grid}.weekly-slot-meta{grid-template-columns:1fr 1fr;gap:8px;display:grid}.weekly-empty{padding:14px 0}@media (max-width:900px){.weekly-schedule-grid{grid-template-columns:1fr}.schedule-copy{grid-template-columns:1fr 1fr}.schedule-copy>strong,.schedule-copy>span,.schedule-copy>button{grid-column:1/-1}}.compact-tabs{width:fit-content;margin:0}.button-row{flex-wrap:wrap;gap:10px;display:flex}.impact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.impact-grid>div{border:1px solid var(--border);border-radius:12px;gap:4px;padding:14px;display:grid}.impact-grid strong{font-size:1.45rem}.impact-grid span{color:var(--muted);font-size:.86rem}@media (max-width:720px){.impact-grid{grid-template-columns:1fr}}.reminder-filters{grid-template-columns:145px 145px minmax(210px,1fr) 150px 160px;gap:10px;display:grid}.reminder-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:980px){.reminder-filters,.reminder-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.reminder-filters,.reminder-metrics{grid-template-columns:1fr}}.admin-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.check-grid{flex-wrap:wrap;gap:10px 18px;margin-top:10px;display:flex}.check-row{color:var(--text);align-items:center;gap:8px;display:inline-flex}.check-row input{width:16px;height:16px}@media (max-width:980px){.admin-template-grid{grid-template-columns:1fr}}
:root{--bg:#f5f8fd;--surface:#fff;--surface-2:#f8fbff;--text:#00276a;--muted:#5f6f86;--line:#d8e4f5;--primary:#00358e;--primary-strong:#00276a;--brand-secondary:#063b90;--brand-light:#c1d8fe;--brand-coral:#f4633a;--brand-coral-secondary:#fb6542;--shadow:0 12px 36px #00276a1a}body{color:var(--text)}.login-shell{background:radial-gradient(circle at 18% 10%,#c1d8fee6 0,#0000 34%),linear-gradient(135deg,#fff,#f2f6fc)}.sidebar{background:#00276a}.sidebar-brand span,.sidebar-user span{color:#c1d8fe}.sidebar-user{border-top-color:#c1d8fe33}.sidebar .btn-ghost{color:#fff;border-color:#c1d8fe59}.nav-item{color:#dbe8ff}.nav-item:hover,.nav-item.active{color:#fff;background:#063b90}.btn-primary{background:#00358e}.btn-primary:hover:not(:disabled){background:#00276a}.btn-secondary{color:#00358e;background:#eef4ff;border-color:#c1d8fe}.eyebrow{color:#00358e}.input:focus{border-color:#00358e;box-shadow:0 0 0 3px #00358e1f}.doctor-plus-brand{color:#00358e;align-items:center;gap:12px;display:flex}.doctor-plus-mark{color:#00358e;filter:drop-shadow(0 8px 16px #00276a1f);flex:none;width:54px;height:54px}.doctor-plus-mark.compact{width:42px;height:42px}.doctor-plus-mark-cross{fill:#f4633a}.doctor-plus-brand-copy strong,.doctor-plus-brand-copy small{display:block}.doctor-plus-brand-copy strong{color:#00358e;letter-spacing:-.025em;font-size:1.12rem;font-weight:850;line-height:1.05}.doctor-plus-brand-copy strong span{color:#f4633a}.doctor-plus-brand-copy small{color:#657a98;margin-top:3px;font-size:.76rem}.sidebar .doctor-plus-brand-copy strong{color:#fff}.sidebar .doctor-plus-brand-copy strong span{color:#f4633a}.sidebar .doctor-plus-mark{color:#fff;filter:none}.login-brand{margin-bottom:22px}.service-groups{gap:10px;display:grid}.service-group{background:#fff;border:1px solid #d8e4f5;border-radius:13px;overflow:hidden}.service-group[open]{border-color:#b9d0f4;box-shadow:0 8px 22px #00358e12}.service-group-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;padding:14px 15px;list-style:none;display:flex}.service-group-header::-webkit-details-marker{display:none}.service-group-header:after{content:"⌄";color:#00358e;font-size:1.25rem;line-height:1;transition:transform .16s}.service-group[open]>.service-group-header:after{transform:rotate(180deg)}.service-group-header>div{min-width:0}.service-group-header h3{color:#00276a;text-transform:uppercase;letter-spacing:.055em;margin:0;font-size:.92rem}.service-group-header strong{color:#f4633a;margin-top:3px;font-size:.75rem;display:block}.service-group-header span{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.75rem}.service-group>.service-picker{padding:0 12px 12px}.service-option.selected{background:#f1f6ff;border-color:#00358e}.patient-list-heading{align-items:center}.patient-total{text-align:right;background:#f8fbff;border:1px solid #d8e4f5;border-radius:14px;min-width:132px;padding:10px 14px}.patient-total span,.patient-total small{color:var(--muted);font-size:.72rem;display:block}.patient-total strong{color:#00358e;font-size:1.55rem;line-height:1.1;display:block}.patient-actions-cell{text-align:right;width:54px}.patient-actions-trigger{color:#00358e;cursor:pointer;background:#fff;border:1px solid #d8e4f5;border-radius:10px;place-items:center;width:34px;height:34px;font-size:1.35rem;font-weight:800;line-height:1;display:inline-grid}.patient-actions-trigger:hover,.patient-actions-trigger.active{background:#eef4ff;border-color:#b9d0f4}.patient-actions-floating{z-index:100;text-align:left;background:#fff;border:1px solid #d8e4f5;border-radius:12px;width:190px;padding:6px;position:fixed;box-shadow:0 16px 40px #00276a2e}.patient-actions-floating button{color:#00276a;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:10px 11px}.patient-actions-floating button:hover{background:#eef4ff}.patient-actions-floating button.danger{color:#b42318}.patient-actions-floating button.danger:hover{background:#fff1ef}.patient-study-history{gap:12px;display:grid}.patient-study-card{background:#fff;border:1px solid #d8e4f5;border-radius:14px;gap:12px;padding:14px;display:grid}.appointment-payment-box{background:#f8fbff;border:1px solid #c1d8fe;border-top:4px solid #f4633a;border-radius:14px;padding:16px}.payment-choice-summary{background:#fff;border:1px solid #d8e4f5;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;display:flex}.payment-choice-summary span{color:#5f6f86;font-size:.85rem}.payment-choice-summary strong{color:#00358e;white-space:nowrap}.reminder-primary-action{color:#fff;background:#f4633a;border-color:#f4633a}.reminder-primary-action:hover:not(:disabled){background:#df4f2b}.reminder-composer{border-top:4px solid #f4633a}.reminder-compose-grid,.reminder-actions-grid{align-items:end}.reminder-preview{background:#f8fbff;border:1px solid #d8e4f5;border-left:4px solid #00358e;border-radius:12px;padding:14px 16px}.reminder-preview span{color:#5f6f86;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.74rem;font-weight:800;display:block}.reminder-preview p{color:#122033;white-space:pre-wrap;margin:0}.reminder-quick-times{gap:7px;display:grid}.reminder-primary-actions{justify-content:flex-end;padding-top:4px}.btn-meta{color:#fff;background:#f4633a;border-color:#f4633a}.btn-meta:hover:not(:disabled){background:#df4f2b}.admin-no-reminders .tabs>button:last-child,.admin-no-reminders .page-header .muted{display:none}@media (max-width:760px){.doctor-plus-brand-copy strong{font-size:1rem}.service-group-header{align-items:center;padding:13px}.service-group-header span{display:none}.patient-list-heading,.payment-choice-summary{flex-direction:column;align-items:stretch}.patient-total{text-align:left;width:100%}.reminder-primary-actions{justify-content:stretch}.reminder-primary-actions .btn{width:100%}}
