/* Shared admin-only theme tokens. Dark overrides apply to screens, so print
   always inherits the light paper palette without changing document templates. */
html[data-admin-theme] {
    color-scheme: light;
    --nova-primary: #1763d6;
    --nova-primary-hover: #104eae;
    --nova-primary-text: #255a9b;
    --nova-primary-soft: #eaf2ff;
    --nova-primary-border: #d5e4fa;
    --nova-on-primary: #fff;
    --nova-accent: #087f8c;
    --nova-accent-soft: #eaf7f5;
    --nova-accent-border: #cdebe8;
    --nova-bg: #f6f8fb;
    --nova-surface: #fff;
    --nova-surface-muted: #f8fafc;
    --nova-sidebar: #fff;
    --nova-header: #fff;
    --nova-text: #182c46;
    --nova-text-muted: #52677f;
    --nova-muted: #60738a;
    --nova-label: #3e5570;
    --nova-placeholder: #60738a;
    --nova-nav-text: #465c75;
    --nova-nav-icon: #71859a;
    --nova-border: #e1e7ef;
    --nova-border-soft: #edf1f5;
    --nova-input-border: #8290a3;
    --nova-hover: #f0f5fc;
    --nova-track: #e9eff6;
    --nova-success: #167653;
    --nova-success-soft: #ebf7f1;
    --nova-success-border: #cce7d9;
    --nova-warning: #8b5c0b;
    --nova-warning-soft: #fff5df;
    --nova-warning-border: #efdfb8;
    --nova-danger: #ba3648;
    --nova-danger-soft: #fff0f2;
    --nova-danger-border: #efd1d6;
    --nova-focus: #2879d4;
    --nova-backdrop: #10233866;
    --nova-radius: 10px;
    --nova-shadow: 0 3px 14px #18345605;
    --nova-popover-shadow-color: #1a34541a;
    --nova-dialog-shadow-color: #1b36552b;
    --nova-login-shadow-color: #183c650a;
    --nova-tooth-fill: #f5f8fc;
    --nova-tooth-stroke: #91a8c5;
    --nova-tooth-line: #a1b3c9;
    --nova-tooth-finding-fill: #fff0d5;
    --nova-tooth-finding-stroke: #b78331;
    --nova-tooth-missing-fill: #edf0f4;
    --nova-tooth-missing-stroke: #8895a7;
    --nova-tooth-caries-fill: #ffe4e5;
    --nova-tooth-caries-stroke: #bb4e5d;
    --nova-tooth-restored-fill: #e0efff;
    --nova-tooth-restored-stroke: #437eb9;
    --nova-tooth-healthy-fill: #e7f6ed;
    --nova-tooth-healthy-stroke: #509471;
    --nova-print-border: #526f94;
    --nova-print-text: #334b67;
    --ink: var(--nova-text);
    --muted: var(--nova-muted);
    --blue: var(--nova-primary);
    --line: var(--nova-border);
    --soft: var(--nova-bg);
    --navy: var(--nova-text);
}
@media screen {
    html[data-admin-theme][data-theme="dark"] {
        color-scheme: dark;
        --nova-primary: #79b1ff;
        --nova-primary-hover: #a0c8ff;
        --nova-primary-text: #a4caff;
        --nova-primary-soft: #1b304b;
        --nova-primary-border: #31527c;
        --nova-on-primary: #0c223f;
        --nova-accent: #58c9cc;
        --nova-accent-soft: #153737;
        --nova-accent-border: #285856;
        --nova-bg: #101720;
        --nova-surface: #192330;
        --nova-surface-muted: #202c3b;
        --nova-sidebar: #151f2b;
        --nova-header: #17212e;
        --nova-text: #edf3fb;
        --nova-text-muted: #bac8da;
        --nova-muted: #a5b5ca;
        --nova-label: #c0cee0;
        --nova-placeholder: #93a6bf;
        --nova-nav-text: #c2cfe0;
        --nova-nav-icon: #99abc2;
        --nova-border: #344356;
        --nova-border-soft: #2a384a;
        --nova-input-border: #60738a;
        --nova-hover: #24354b;
        --nova-track: #2a3b51;
        --nova-success: #73d6a5;
        --nova-success-soft: #163c2e;
        --nova-success-border: #2e6349;
        --nova-warning: #f0c06d;
        --nova-warning-soft: #3c301b;
        --nova-warning-border: #6c5329;
        --nova-danger: #ff98a5;
        --nova-danger-soft: #422732;
        --nova-danger-border: #79404e;
        --nova-focus: #90bfff;
        --nova-backdrop: #050b16b3;
        --nova-shadow: 0 4px 18px #00000024;
        --nova-popover-shadow-color: #00000055;
        --nova-dialog-shadow-color: #00000066;
        --nova-login-shadow-color: #00000033;
        --nova-tooth-fill: #2d3d52;
        --nova-tooth-stroke: #9eb8d8;
        --nova-tooth-line: #819bbc;
        --nova-tooth-finding-fill: #59451f;
        --nova-tooth-finding-stroke: #ecc176;
        --nova-tooth-missing-fill: #283343;
        --nova-tooth-missing-stroke: #98aac1;
        --nova-tooth-caries-fill: #5d303c;
        --nova-tooth-caries-stroke: #ff9ba8;
        --nova-tooth-restored-fill: #254b70;
        --nova-tooth-restored-stroke: #86baff;
        --nova-tooth-healthy-fill: #244e3b;
        --nova-tooth-healthy-stroke: #85d2a7;
    }
}
.admin-layout{--admin-sidebar:252px;min-height:100vh;background:var(--nova-bg);color:var(--nova-text);font:14px/1.55 "Segoe UI",Arial,sans-serif;color-scheme:inherit}
.admin-layout *{box-sizing:border-box}.admin-layout [hidden]{display:none!important}.admin-layout svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.admin-layout .admin-icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.admin-skip-link{position:fixed;top:-60px;left:18px;z-index:90;background:var(--nova-surface);padding:10px 18px;border-radius:var(--nova-radius)}.admin-skip-link:focus{top:12px}
.admin-layout .admin-sidebar{position:fixed;inset:0 auto 0 0;width:var(--admin-sidebar);z-index:50;background:var(--nova-sidebar);border-right:1px solid var(--nova-border);display:flex;flex-direction:column;padding:25px 15px 16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.admin-sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:0 14px 19px;border-bottom:1px solid var(--nova-border)}.admin-sidebar .admin-brand{display:block;width:165px;line-height:0}.admin-brand img{display:block;width:100%;height:auto}.admin-sidebar-label{margin:21px 12px 12px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--nova-muted)}
.admin-nav{display:flex;flex-direction:column;gap:6px}.admin-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;min-height:43px;text-decoration:none;color:var(--nova-nav-text);border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:500;line-height:1.45}.admin-nav a svg{width:18px;height:18px;color:var(--nova-nav-icon)}.admin-nav a:hover{background:var(--nova-hover);color:var(--nova-primary)}.admin-nav a[aria-current=page]{background:var(--nova-primary-soft);color:var(--nova-primary);border-color:var(--nova-primary-border);font-weight:700}.admin-nav a[aria-current=page] svg{color:var(--nova-primary)}
.admin-nav-group{margin:0}.admin-nav-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:15px 12px 7px;min-height:41px;color:var(--nova-muted);text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:700;cursor:pointer}.admin-nav-group>summary::-webkit-details-marker{display:none}.admin-nav-group>summary svg{width:14px;height:14px;transition:transform .15s}.admin-nav-group[open]>summary svg{transform:rotate(180deg)}.admin-nav-group>div{display:grid;gap:3px}.admin-sidebar-bottom{margin-top:auto;padding:22px 12px 0;color:var(--nova-muted);font-size:11px}.admin-sidebar-bottom a{display:block;margin-top:9px;color:var(--nova-muted);text-decoration:none;font-weight:600}.admin-privacy-dot,.admin-private-indicator>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--nova-success);margin-right:6px}
.admin-layout .dashboard-header{position:sticky;top:0;z-index:30;min-height:80px;margin-left:var(--admin-sidebar);padding:14px 28px;display:flex;align-items:center;gap:17px;background:var(--nova-header);border-bottom:1px solid var(--nova-border)}
.admin-global-search{position:relative;display:flex;align-items:center;gap:10px;max-width:470px;min-width:160px;flex:1;margin:0;background:var(--nova-bg);border:1px solid var(--nova-border);border-radius:8px;padding:0 10px;color:var(--nova-muted)}.admin-global-search input{background:transparent;border:0;box-shadow:none;min-height:43px;padding:8px 0;font-size:12px;outline-offset:0}.admin-global-search button{background:transparent;border:0;color:var(--nova-primary);font-size:11px;font-weight:600;min-height:40px;padding:0 4px}.admin-global-search input::placeholder{color:var(--nova-placeholder)}
.admin-branch-context{display:flex;align-items:center;gap:9px;margin-left:auto;color:var(--nova-muted);min-width:100px;max-width:170px}.admin-branch-context svg{color:var(--nova-accent);flex:none}.admin-branch-context>div{min-width:0;flex:1}.admin-branch-context span{display:block;font-size:10px}.admin-branch-context strong{display:block;font-size:12px;color:var(--nova-text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-access-notice{padding:24px;background:var(--nova-surface);border:1px solid var(--nova-border);border-radius:var(--nova-radius);color:var(--nova-text)}.admin-access-notice h2{font-size:20px;margin:0 0 12px}.admin-access-notice p{margin:0;color:var(--nova-muted);line-height:1.6}
.admin-icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px;border:1px solid var(--nova-border);border-radius:8px;background:var(--nova-surface);color:var(--nova-muted);text-decoration:none;cursor:pointer}.admin-icon-button:hover{color:var(--nova-primary);background:var(--nova-bg)}.admin-notification-badge{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:12px;background:var(--nova-danger);color:var(--nova-on-primary);font-size:10px;line-height:1}
.admin-header-menu{position:relative}.admin-header-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}.admin-header-menu>summary::-webkit-details-marker{display:none}.admin-menu-popover{position:absolute;right:0;top:calc(100% + 12px);width:215px;z-index:60;padding:7px;background:var(--nova-surface);border:1px solid var(--nova-border);border-radius:var(--nova-radius);box-shadow:0 12px 36px var(--nova-popover-shadow-color)}.admin-menu-popover a,.admin-menu-popover button{display:block;width:100%;min-height:40px;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:var(--nova-text);font:inherit;font-size:12px;text-decoration:none;text-align:left}.admin-menu-popover a:hover,.admin-menu-popover button:hover{background:var(--nova-bg);color:var(--nova-primary)}.admin-menu-popover p{margin:7px 12px 9px;font-size:11px;color:var(--nova-muted)}.admin-menu-popover #logout{color:var(--nova-danger);border-top:1px solid var(--nova-border);border-radius:0;margin-top:5px}
.admin-avatar{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--nova-accent-border);border-radius:50%;background:var(--nova-accent-soft);color:var(--nova-accent);font-size:12px;font-weight:700}.admin-account-label{display:block;min-width:90px;max-width:155px}.admin-account-label strong{display:block;font-size:12px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-account-label>span{display:block;color:var(--nova-muted);font-size:10px}.admin-account-menu>summary{min-height:44px}.admin-header-menu[open]>summary{outline:2px solid var(--nova-primary-border);outline-offset:3px}
#admin-menu-toggle,#admin-menu-close{display:none}.admin-sidebar-backdrop{position:fixed;inset:0;z-index:45;border:0;background:var(--nova-backdrop)}.admin-drawer-open{overflow:hidden}
.admin-layout main{max-width:none;margin:0 0 0 var(--admin-sidebar);padding:29px 28px 26px;min-width:0}.admin-layout main>*{max-width:none}.admin-layout .heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:0}.admin-layout .heading h1{font-size:clamp(25px,2vw,32px);font-weight:700;line-height:1.25;letter-spacing:-.035em;margin:0 0 6px;color:var(--nova-text)}.admin-layout .eyebrow{color:var(--nova-accent);letter-spacing:.12em;font-size:10px;margin-bottom:7px}.admin-layout .intro{font-size:12px;color:var(--nova-muted)}.admin-private-indicator{font-size:11px;white-space:nowrap;color:var(--nova-muted)}.admin-layout .status{font-size:12px;margin:16px 0 20px;min-height:18px}.admin-layout .status.error{color:var(--nova-danger)}.admin-layout footer{max-width:none;margin-left:var(--admin-sidebar);padding:20px 28px;border-top:1px solid var(--nova-border);font-size:11px;flex-wrap:wrap}
.admin-layout .button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:1px solid var(--nova-border);border-radius:7px;font-size:12px;font-weight:600;text-decoration:none;white-space:normal;line-height:1.4;transition:background .12s}.admin-layout .button.primary{background:var(--nova-primary);border-color:var(--nova-primary);color:var(--nova-on-primary)}.admin-layout .button.primary:hover{background:var(--nova-primary-hover)}.admin-layout .button.secondary{background:var(--nova-surface);color:var(--nova-text)}.admin-layout .button.secondary:hover{background:var(--nova-hover)}.admin-layout input,.admin-layout select,.admin-layout textarea{background:var(--nova-surface);color:var(--nova-text);border-color:var(--nova-input-border);border-radius:7px;font-size:13px}.admin-layout input:focus,.admin-layout select:focus,.admin-layout textarea:focus{border-color:var(--nova-primary)}.admin-layout label{color:var(--nova-label);font-size:12px}.admin-layout .records-panel,.admin-layout .erp-panel,.admin-layout .stat,.admin-layout .clinic-metric{background:var(--nova-surface);border:1px solid var(--nova-border);border-radius:var(--nova-radius);box-shadow:var(--nova-shadow);color:var(--nova-text)}.admin-layout .stat:first-child{background:var(--nova-surface);color:var(--nova-text);border-color:var(--nova-border)}.admin-layout .stat:first-child p,.admin-layout .stat:first-child span{color:var(--nova-muted)}.admin-layout th{background:var(--nova-surface-muted);color:var(--nova-text-muted);border-color:var(--nova-border);font-size:11px;font-weight:600}.admin-layout td{border-color:var(--nova-border-soft);font-size:12px}.admin-layout .table-scroll{max-width:100%;overscroll-behavior-inline:contain}.admin-layout .stats{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-layout.admin-visitors .stats{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-layout .stat{min-width:0}.admin-layout .stat strong{overflow-wrap:anywhere}.admin-layout .notifications-panel>.notification-state,.admin-layout .notifications-panel>.notification-channels,.admin-layout .notifications-panel>.notification-help{margin-inline:25px}.admin-layout .notification-list{margin-inline:25px}.admin-layout .notification-help{padding-bottom:18px}.admin-layout .slot-conflicts{margin:18px 25px}
/* The same dashboard component is used at /admin and the ERP dashboard route. */
.clinic-dashboard-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px;color:var(--nova-muted);font-size:11px}.clinic-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.clinic-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:23px}.admin-layout .clinic-metric{position:relative;min-width:0;padding:18px 16px;min-height:125px}.clinic-metric-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:var(--nova-primary-soft);color:var(--nova-primary);font-size:16px;margin-bottom:13px}.clinic-metric[data-tone=teal] .clinic-metric-icon{background:var(--nova-accent-soft);color:var(--nova-accent)}.clinic-metric[data-tone=amber] .clinic-metric-icon{background:var(--nova-warning-soft);color:var(--nova-warning)}.clinic-metric-label{font-size:11px;color:var(--nova-muted);margin:0 0 8px;line-height:1.5}.clinic-metric-value{display:block;font-size:27px;line-height:1.2;font-weight:700;letter-spacing:-.035em;color:var(--nova-text);overflow-wrap:anywhere}.clinic-metric-note{display:block;font-size:10px;color:var(--nova-muted);margin-top:8px}.clinic-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:19px;align-items:start}.clinic-dashboard-panel{min-width:0;overflow:hidden;background:var(--nova-surface);border:1px solid var(--nova-border);border-radius:var(--nova-radius);box-shadow:var(--nova-shadow)}.clinic-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px 15px;flex-wrap:wrap}.clinic-panel-heading h2{font-size:15px;font-weight:650;letter-spacing:-.015em}.clinic-panel-heading p{margin:5px 0 0;font-size:11px;color:var(--nova-muted)}.clinic-panel-heading>a{font-size:11px;text-decoration:none;font-weight:600}.clinic-dashboard-table-wrap{max-width:100%;overflow-x:auto}.clinic-dashboard-table{width:100%;min-width:550px;border-collapse:collapse}.clinic-dashboard-table th,.clinic-dashboard-table td{padding:13px 17px}.clinic-dashboard-table td{vertical-align:middle}.clinic-dashboard-table td a{font-size:11px;text-decoration:none;font-weight:600}.clinic-appointment-time{font-weight:650;color:var(--nova-text);white-space:nowrap}.clinic-status-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--nova-primary-border);border-radius:5px;padding:3px 7px;background:var(--nova-primary-soft);color:var(--nova-primary-text);font-size:10px;white-space:nowrap}.clinic-status-badge[data-status=Confirmed],.clinic-status-badge[data-status=Completed]{background:var(--nova-success-soft);border-color:var(--nova-success-border);color:var(--nova-success)}.clinic-status-badge[data-status=Requested]{background:var(--nova-warning-soft);border-color:var(--nova-warning-border);color:var(--nova-warning)}.clinic-empty{padding:23px 20px 27px;color:var(--nova-muted);font-size:12px;line-height:1.7}.clinic-empty strong{display:block;margin-bottom:5px;color:var(--nova-text);font-weight:600}.clinic-empty p{margin:5px 0 0}.clinic-empty a{display:inline-block;margin-top:10px}.clinic-list{list-style:none;margin:0;padding:0 20px 8px}.clinic-list-item{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--nova-border-soft);font-size:12px}.clinic-list-item strong{font-size:12px;font-weight:600;display:block}.clinic-list-meta{font-size:11px;color:var(--nova-muted);margin-top:4px}.clinic-utilization-track{height:5px;background:var(--nova-track);border-radius:5px;overflow:hidden;min-width:100px;margin-top:8px}.clinic-utilization-fill{height:100%;background:var(--nova-accent);border-radius:5px}.clinic-website-summary{margin-top:22px;background:var(--nova-surface);border:1px solid var(--nova-border);border-radius:var(--nova-radius);padding:17px 20px}.clinic-website-summary>summary{cursor:pointer;font-size:12px;font-weight:600}.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:15px 0}.admin-summary>div{min-width:0}.admin-summary dt{font-size:11px}.admin-summary dd{font-size:21px;font-weight:650}.admin-overview-note,.info-note{color:var(--nova-muted);font-size:11px}
.admin-layout dialog{border:1px solid var(--nova-border);border-radius:12px;background:var(--nova-surface);color:var(--nova-text);box-shadow:0 20px 80px var(--nova-dialog-shadow-color);width:min(660px,calc(100vw - 32px));max-height:85dvh;padding:24px}.admin-layout dialog::backdrop{background:var(--nova-backdrop)}.admin-layout dialog h2{font-size:18px}.admin-layout dialog .dialog-heading{align-items:center}.admin-layout #admin-confirm-dialog{max-width:440px}.admin-search-group{margin-top:20px}.admin-search-group h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--nova-muted)}.admin-search-result{display:block;padding:12px;border:1px solid var(--nova-border);border-radius:8px;margin:8px 0;text-decoration:none;color:var(--nova-text)}.admin-search-result:hover{border-color:var(--nova-primary);background:var(--nova-hover)}.admin-search-result strong{font-size:13px;display:block}.admin-search-result span{font-size:11px;color:var(--nova-muted)}.admin-layout #admin-search-status{font-size:12px;color:var(--nova-muted)}
.admin-layout.admin-leaving #login-panel,.admin-layout.admin-checking #login-panel{display:none!important}.admin-layout.admin-locked .admin-sidebar,.admin-layout.admin-locked .dashboard-header,.admin-layout.admin-locked .heading,.admin-layout.admin-locked #dashboard,.admin-layout.admin-locked footer,.admin-layout.admin-locked dialog{display:none!important}.admin-layout.admin-locked main{margin:0;min-height:100dvh;padding:30px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.admin-layout.admin-locked #login-panel{order:1;width:min(440px,100%);margin:0 0 14px;padding:32px;background:var(--nova-surface);border-radius:14px;box-shadow:0 12px 45px var(--nova-login-shadow-color)}.admin-layout.admin-locked #status{order:2;width:min(440px,100%);margin:0;text-align:center}.admin-layout #login-panel[hidden]{display:none!important}.admin-login-brand{display:block;width:190px;margin-bottom:27px;line-height:0}.admin-login-brand img{display:block;width:100%;height:auto}.admin-login-back{display:inline-flex;min-height:40px;align-items:center;margin-top:14px;font-size:12px;text-decoration:none}.admin-layout .login-card input{margin-bottom:13px}.admin-layout a:focus-visible,.admin-layout button:focus-visible,.admin-layout summary:focus-visible,.admin-layout input:focus-visible,.admin-layout select:focus-visible{outline:3px solid var(--nova-focus);outline-offset:3px}
@media(min-width:1900px){.admin-layout{--admin-sidebar:268px}.admin-layout main{padding:35px 36px}.admin-layout .dashboard-header{padding-inline:36px}.clinic-metrics{gap:18px}.admin-layout .clinic-metric{padding:22px}.clinic-dashboard-grid{gap:22px}}
@media(max-width:1250px){.admin-layout .dashboard-header{gap:12px;padding-inline:22px}.admin-layout main{padding-inline:22px}.admin-branch-context{display:none}.admin-account-label{max-width:115px}.clinic-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.clinic-dashboard-grid{grid-template-columns:minmax(0,1fr)}.admin-layout.admin-visitors .stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.admin-layout .admin-sidebar{width:280px;max-width:calc(100vw - 45px);transform:translateX(-100%);visibility:hidden;transition:transform .16s,visibility .16s}.admin-drawer-open .admin-sidebar{transform:translateX(0);visibility:visible}.admin-layout .dashboard-header,.admin-layout main,.admin-layout footer{margin-left:0}#admin-menu-toggle,#admin-menu-close{display:inline-flex}.admin-global-search{max-width:none}.admin-account-label{max-width:150px}.admin-sidebar-brand{padding-inline:8px;gap:12px}.admin-sidebar .admin-brand{width:158px}.admin-layout .dashboard-header{gap:12px}.admin-layout .heading h1{font-size:27px}}
@media(max-width:650px){.admin-layout .dashboard-header{padding:11px 15px;min-height:70px;gap:9px;flex-wrap:wrap}.admin-global-search{order:5;flex-basis:100%;max-width:none}.admin-global-search input{min-height:39px}.admin-account-menu{margin-left:auto}.admin-account-label{max-width:100px}.admin-account-label strong{font-size:11px}.admin-account-label>span{font-size:9px}.admin-avatar{width:32px;height:32px;font-size:11px}.admin-account-menu>summary{gap:6px}.admin-layout #admin-quick-actions>summary{padding:8px 9px;min-height:39px}.admin-quick-label{display:none}.admin-layout main{padding:23px 15px}.admin-layout .heading h1{font-size:25px}.admin-private-indicator{display:none}.admin-layout .intro{font-size:12px}.admin-layout footer{padding:18px 15px;gap:7px}.clinic-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-layout .clinic-metric{padding:15px 13px;min-height:125px}.clinic-metric-value{font-size:25px}.clinic-metric-label{font-size:11px}.clinic-dashboard-grid{gap:15px}.clinic-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.clinic-quick-actions .button{font-size:11px;padding:9px 8px}.clinic-panel-heading{padding:17px 16px 13px}.clinic-empty{padding:18px 16px 22px}.clinic-list{padding-inline:16px}.admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout .stats,.admin-layout.admin-visitors .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout .stats .stat:last-child{grid-column:auto}.admin-layout .notifications-panel>.notification-state,.admin-layout .notifications-panel>.notification-channels,.admin-layout .notifications-panel>.notification-help,.admin-layout .notification-list{margin-inline:18px}.admin-layout dialog{padding:18px}.admin-menu-popover{width:205px}.admin-layout .panel-heading{padding:18px}.admin-layout .filters{padding:18px}}
@media(prefers-reduced-motion:reduce){.admin-layout *{transition:none!important;scroll-behavior:auto!important}}
@media print{.admin-sidebar,.dashboard-header,.admin-sidebar-backdrop,.admin-skip-link{display:none!important}.admin-layout main,.admin-layout footer{margin-left:0}}

/* Shared dashboard grid and compact sections override the legacy summary defaults. */
.clinic-dashboard-table td{overflow-wrap:normal;word-break:normal}
.clinic-dashboard-table:not(.clinic-dashboard-table-compact){min-width:720px}
.clinic-dashboard-table:not(.clinic-dashboard-table-compact) td:nth-child(3){min-width:140px}
.clinic-dashboard-table:not(.clinic-dashboard-table-compact) td:nth-child(4){min-width:110px}
.clinic-quick-panel .clinic-quick-actions{padding-inline:20px}
@media(max-width:650px){.clinic-quick-panel .clinic-quick-actions{padding-inline:18px}}
.clinic-metric-top{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:13px}.clinic-metric-top .clinic-metric-icon{margin:0;flex-shrink:0}.clinic-metric-top .clinic-metric-label{margin:0;min-width:0}.clinic-dashboard-wide{grid-column:1/-1}.clinic-quick-panel{margin-bottom:20px}.clinic-row-action{white-space:nowrap}.clinic-dashboard-updated{font-size:11px;color:var(--nova-muted)}.clinic-dashboard-table-compact{min-width:0}.clinic-list-copy{min-width:0;overflow-wrap:anywhere}.clinic-utilization-item{flex-direction:column}.clinic-utilization-heading{display:flex;justify-content:space-between;gap:12px;width:100%}.clinic-utilization-item .clinic-utilization-track{width:100%}.admin-layout .stats.clinic-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-layout .clinic-metric .clinic-metric-value{font-size:27px;margin:0;color:var(--nova-text)}.admin-layout .clinic-metric .clinic-metric-label{font-size:11px;color:var(--nova-muted)}.admin-layout .clinic-metric .clinic-metric-note{font-size:10px;margin-top:8px;color:var(--nova-muted)}
@media(max-width:1250px){.admin-layout .stats.clinic-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.admin-layout .stats.clinic-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout .clinic-metric .clinic-metric-value{font-size:24px}.clinic-metric-top{gap:6px}.clinic-metric-icon{width:26px;height:26px}}

/* One account-menu appearance control, shared by every admin Razor page. */
.admin-menu-popover { max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
.admin-theme-controls { min-width: 0; margin: 8px 0 0; padding: 10px 5px 4px; border: 0; border-top: 1px solid var(--nova-border); }
.admin-theme-controls legend { float: left; width: 100%; padding: 0 7px 5px; color: var(--nova-muted); font-size: 11px; font-weight: 600; }
.admin-layout .admin-theme-option { clear: both; display: flex; align-items: center; gap: 10px; min-height: 40px; margin: 2px 0; padding: 9px 10px; border: 1px solid transparent; border-radius: 6px; color: var(--nova-text); font-size: 12px; cursor: pointer; }
.admin-layout .admin-theme-option:hover { background: var(--nova-hover); }
.admin-layout .admin-theme-option:has(input:checked) { background: var(--nova-primary-soft); border-color: var(--nova-primary-border); color: var(--nova-primary-text); font-weight: 700; }
.admin-layout .admin-theme-option:focus-within { outline: 2px solid var(--nova-focus); outline-offset: 1px; }
.admin-layout .admin-theme-option input { width: 16px; height: 16px; min-height: 16px; margin: 0; padding: 0; flex: 0 0 16px; accent-color: var(--nova-primary); }
.admin-layout .admin-theme-option input:focus-visible { outline: none; }
.admin-menu-popover .admin-theme-status { margin: 5px 12px 9px; font-size: 10px; line-height: 1.5; color: var(--nova-muted); }

/* Shared component states use semantic tokens rather than page-specific palettes. */
.admin-layout .admin-sidebar { scrollbar-color: var(--nova-input-border) var(--nova-sidebar); }
.admin-nav a[aria-current=page] { box-shadow: inset 3px 0 var(--nova-primary); }
.admin-layout .admin-brand, .admin-layout .admin-login-brand { background: #fff; border-radius: 8px; padding: 6px; }
.admin-layout .admin-login-brand { padding: 8px; }
.admin-layout input::placeholder, .admin-layout textarea::placeholder { color: var(--nova-placeholder); opacity: 1; }
.admin-layout input, .admin-layout textarea, .admin-layout select { caret-color: var(--nova-text); }
.admin-layout input[type=checkbox], .admin-layout input[type=radio] { accent-color: var(--nova-primary); }
.admin-layout .admin-password-field { display: flex; align-items: stretch; gap: 8px; margin-bottom: 13px; }
.admin-layout .admin-password-field input { min-width: 0; flex: 1; margin: 0; }
.admin-layout .admin-password-field button { width: auto; min-width: 64px; min-height: 44px; margin: 0; padding: 8px 12px; background: var(--nova-surface-muted); color: var(--nova-text); border: 1px solid var(--nova-border); border-radius: 8px; }
.admin-layout .admin-remember-choice { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 4px 0; cursor: pointer; font-weight: 500; }
.admin-layout .admin-remember-choice input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: 0; }
.admin-layout .admin-login-help { color: var(--nova-text-muted); font-size: 12px; line-height: 1.6; margin: 4px 0 0; }
.admin-layout input[readonly], .admin-layout textarea[readonly] { background: var(--nova-surface-muted); }
.admin-layout input:disabled, .admin-layout select:disabled, .admin-layout textarea:disabled { background: var(--nova-surface-muted); color: var(--nova-muted); }
.admin-layout input:user-invalid, .admin-layout textarea:user-invalid, .admin-layout select:user-invalid { border-color: var(--nova-danger); }
.admin-layout input:autofill { background: var(--nova-surface) !important; color: var(--nova-text) !important; }
.admin-layout input:-webkit-autofill { -webkit-text-fill-color: var(--nova-text); -webkit-box-shadow: 0 0 0 1000px var(--nova-surface) inset; caret-color: var(--nova-text); }
.admin-layout textarea:focus-visible { outline: 3px solid var(--nova-focus); outline-offset: 3px; }
.admin-layout tbody tr:hover > td { background: var(--nova-hover); }
.admin-layout tr[aria-selected=true] > td { background: var(--nova-primary-soft); }
.admin-layout .erp-tooth-controls button:hover, .admin-layout .erp-surface-picker button:hover { border-color: var(--nova-primary); }

@media print {
    html[data-admin-theme] { color-scheme: light; --nova-bg: #fff; --nova-text: #000; --nova-muted: #334155; --nova-text-muted: #334155; --nova-primary: #000; --nova-primary-text: #000; --nova-shadow: none; }
    html[data-admin-theme] body.admin-layout { background: #fff !important; color: #000 !important; }
    .admin-layout .records-panel, .admin-layout .erp-panel, .admin-layout .erp-record, .admin-layout .clinic-record { background: #fff; color: #000; box-shadow: none; }
    .admin-layout .erp-print-header, .admin-layout .erp-print-footer { color: #000; border-color: #000; }
    .admin-layout dialog { display: none !important; }
}

.admin-toast-region:not(:empty){position:fixed;z-index:90;right:24px;bottom:24px;max-width:min(420px,calc(100vw - 32px));display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--nova-success);border-radius:var(--nova-radius);background:var(--nova-surface);color:var(--nova-text);box-shadow:var(--nova-shadow);font-size:13px}
.admin-toast-region button{border:0;background:transparent;color:var(--nova-primary-text);font:inherit;font-weight:600;cursor:pointer;padding:4px}
@media(max-width:500px){.admin-toast-region:not(:empty){right:16px;bottom:16px}}
@media print{.admin-toast-region{display:none!important}}
