:root{--accent-hover:#11786e;--accent-border:#b9dcd2;--accent-light:#f0f8f5;--accent-soft:#e4f3ed;--accent-text:#356a5d;--brand-light:#9ad7ce;--nav-active:#2d514f;--nav-active-text:#d8f5e9}
:root[data-theme=blue]{--teal:#2563b9;--teal-soft:#eaf1fc;--accent-hover:#1e4e96;--accent-border:#bdd1ed;--accent-light:#f1f6fe;--accent-soft:#e2edfc;--accent-text:#315c91;--nav:#192b46;--nav-active:#294c7c;--nav-active-text:#e2eeff;--brand-light:#a8cbff;--bg:#f5f7fb;--ink:#22344e}
:root[data-theme=gray]{--teal:#596675;--teal-soft:#edf0f3;--accent-hover:#424e5a;--accent-border:#ccd2da;--accent-light:#f3f5f7;--accent-soft:#e8ecf0;--accent-text:#4b5968;--nav:#252b33;--nav-active:#454f5d;--nav-active-text:#f0f3f7;--brand-light:#c6cfdb;--bg:#f5f6f8;--ink:#2d3743}
:root[data-theme=violet]{--teal:#7954b3;--teal-soft:#f1ebf9;--accent-hover:#634193;--accent-border:#d5c3ed;--accent-light:#f7f3fc;--accent-soft:#eee6f7;--accent-text:#69469c;--nav:#30233f;--nav-active:#5b407a;--nav-active-text:#f2e8ff;--brand-light:#d7b9fa;--bg:#f8f6fb;--ink:#382b49}
.button.primary{background:var(--teal);border-color:var(--teal)}
.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.button.soft,.topbar-logout,.calendar-open-button{background:var(--accent-light);color:var(--teal);border-color:var(--accent-border)}
.button.soft:hover,.topbar-logout:hover,.calendar-open-button:hover{background:var(--accent-soft);border-color:var(--teal)}
.brand-light,.brand-mark{color:var(--brand-light)}
.nav-item.active{background:var(--nav-active);color:var(--nav-active-text)}
.nav-item.active:before{background:var(--brand-light)}
.clinic-symbol,.avatar-dark{background:var(--nav-active);color:var(--nav-active-text)}
.live-dot,.date-picker-dot{background:var(--teal)}
.sidebar .live-dot{background:var(--brand-light)}
.stat-icon:not(.purple):not(.amber):not(.blue),.avatar:not(.avatar-dark){background:var(--accent-light);color:var(--teal)}
.day-heading.today,.day-column.today{background-color:var(--accent-light)}
.date-picker-day:hover{background:var(--accent-soft);border-color:var(--accent-border)}
.date-picker-day.is-selected{background:var(--teal);color:white}
.date-picker-day.is-selected .date-picker-dot{background:white}
.segmented button.active{color:var(--teal)}
.next-patient,.workflow-note,.form-hint{background:var(--accent-light);border-color:var(--accent-border);color:var(--accent-text)}
.next-patient .avatar{background:var(--accent-soft)}
.next-time{color:var(--accent-text);border-color:var(--accent-border)}
.earnings-banner{background:var(--nav)}
.rate-form,.plan-total{background:var(--accent-light)}
.plan-total strong,.plan-stage b{color:var(--teal)}
.plan-editor-stage legend{color:var(--teal)}
.add-treatment-group{border-color:var(--accent-border)}
.chart-bar{background:var(--teal)}
.topbar-right{gap:10px;min-width:0}
.preference-control{display:block;margin:0;flex-shrink:0}
.preference-control select{width:auto;max-width:130px;min-height:40px;margin:0;padding:8px 25px 8px 10px;font-size:11px;background-color:white}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.clean-login{display:flex;flex-direction:column;min-height:100vh}
.login-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 32px;border-bottom:1px solid var(--line);background:white}
.login-toolbar .brand{color:var(--ink);gap:0}
.login-toolbar .brand-light{color:var(--teal)}
.appearance-controls{display:flex;gap:10px}
.clean-login .login-panel{flex:1;background:var(--bg)}
.clean-login .login-box{background:white;border:1px solid var(--line);border-radius:14px;padding:30px;width:380px}
.clean-login .login-box h2{margin:0 0 25px}
.clean-login .login-box .button{justify-content:center}
.owner-role{color:var(--teal)!important}
.doctor-row{flex-wrap:wrap}
.doctor-state-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}
.doctor-status{font-size:10px;color:var(--muted)}
@media(max-width:1200px){.topbar .global-search kbd,.top-date{display:none}.topbar .breadcrumb>span{display:none}}
@media(max-width:900px){.topbar .global-search{display:none}.topbar-right{margin-left:auto}}
@media(max-width:600px){.topbar{padding:0 12px;gap:6px}.topbar-right{flex:0 1 auto;gap:6px}.preference-control select{max-width:112px;font-size:10px;padding:8px 15px 8px 7px}.topbar-logout{padding:8px;min-width:61px;gap:5px}.topbar-logout svg{width:14px}.login-toolbar{padding:16px;gap:12px;flex-wrap:wrap}.login-toolbar .brand{font-size:20px}.appearance-controls{gap:6px}.clean-login .login-panel{padding:20px}.clean-login .login-box{padding:25px;max-width:100%}.doctor-state-actions{width:100%;margin-left:45px}}

@media(max-width:360px){.topbar{padding-left:8px;padding-right:8px;gap:4px}.topbar-right{gap:4px}}
