:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f7fb;--surface:#fff;--surface-soft:#eef4f3;--text:#172033;--muted:#667085;--border:#d8dee9;--accent:#0f766e;--accent-dark:#115e59;--success-bg:#dcfce7;--success-text:#166534;--warning-bg:#fef3c7;--warning-text:#92400e;--shadow:0 18px 45px #0f172a14;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--border);background:var(--surface);width:min(100%,440px);box-shadow:var(--shadow);border-radius:8px;gap:22px;padding:28px;display:grid}.login-brand{margin-bottom:0}.login-form{gap:14px;display:grid}.login-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:750;display:grid}.login-form button{width:100%}button,select,input{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f9fafb;background:#111827;padding:24px 18px}.brand{align-items:center;gap:12px;min-height:56px;margin-bottom:28px;display:flex}.brand-mark{color:#082f2e;background:#14b8a6;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span{color:#aab4c4;margin-top:2px;font-size:13px}.nav{gap:6px;display:grid}.logout-form{margin-top:22px}.logout-form button{color:#f9fafb;background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;width:100%;min-height:40px}.nav-item{color:#cbd5e1;border-radius:8px;align-items:center;min-height:42px;padding:0 12px;text-decoration:none;display:flex}.nav-item:hover,.nav-item-active{color:#fff;background:#ffffff17}.workspace{min-width:0;padding:24px}.topbar,.section-heading,.panel-header,.topbar-actions{align-items:center;display:flex}.topbar{justify-content:space-between;gap:16px;margin-bottom:28px}.topbar-actions{gap:10px}.tenant-badge{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:2px;min-width:min(320px,100%);padding:10px 12px;display:grid}.tenant-badge span,.tenant-badge small{color:var(--muted);font-size:12px;font-weight:750}.tenant-badge strong{color:var(--text);font-size:14px}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}.select{border:1px solid var(--border);background:var(--surface);min-width:260px;min-height:42px;color:var(--text);border-radius:8px;padding:0 12px}input,select{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);border-radius:8px;padding:0 12px}.primary-button,.secondary-button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;text-decoration:none;display:inline-flex}.primary-button{background:var(--accent);color:#fff}.primary-button:hover{background:var(--accent-dark)}.secondary-button{background:var(--surface);border-color:var(--border);color:var(--text)}.table-action-link{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--text);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.table-action-link:hover{color:#134e4a;background:#ccfbf1;border-color:#99f6e4}.section-heading{justify-content:space-between;gap:16px;margin-bottom:18px}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:0;font-size:clamp(28px,4vw,42px);line-height:1.08}h2{letter-spacing:0;margin-bottom:0;font-size:16px}.badge{border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.badge-neutral{background:var(--surface-soft);color:var(--muted)}.badge-success{background:var(--success-bg);color:var(--success-text)}.badge-warning{background:var(--warning-bg);color:var(--warning-text)}.badge-danger{color:#991b1b;background:#fee2e2}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-card,.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.metric-card{padding:18px}.metric-card strong{margin:12px 0 4px;font-size:30px;font-weight:850;display:block}.metric-card .metric-text{overflow-wrap:anywhere;font-size:20px;line-height:1.25}.metric-card p{color:var(--muted);margin-bottom:0}.content-grid,.detail-grid{gap:18px;margin-bottom:18px;display:grid}.content-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:18px}.section-panel{margin-bottom:18px}.panel-header{justify-content:space-between;gap:12px;margin-bottom:12px}.admin-toolbar{grid-template-columns:minmax(260px,1fr) 220px 220px;gap:12px;margin-bottom:18px;display:grid}.admin-toolbar label{color:var(--muted);gap:7px;font-size:13px;font-weight:750;display:grid}.admin-toolbar input,.admin-toolbar select{width:100%}.user-filter-toolbar{grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(150px,.7fr)) max-content;margin-bottom:0}.filter-actions{align-items:end;gap:8px;display:flex}.notice{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface);border-radius:8px;gap:4px;margin-bottom:18px;padding:14px 16px;display:grid}.notice strong,.notice span{display:block}.notice span{color:var(--muted);font-size:13px}.notice-danger{border-left-color:#dc2626}.entity-cell{gap:4px;display:grid}.entity-cell strong,.entity-cell span{display:block}.entity-cell span{color:var(--muted);font-size:13px}code{background:var(--surface-soft);max-width:100%;min-height:28px;color:var(--accent-dark);border-radius:6px;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.calendar-code{text-overflow:ellipsis;white-space:nowrap;max-width:min(440px,52vw);overflow:hidden}.wide-field{grid-column:span 2}.dentist-form{align-items:end}.empty-state{border:1px dashed var(--border);background:#f8fafc;border-radius:8px;gap:6px;padding:18px;display:grid}.empty-state strong,.empty-state span{display:block}.empty-state span{color:var(--muted);font-size:13px}.status-stack{gap:10px;display:grid}.status-stack div{background:var(--surface-soft);border-radius:8px;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.status-stack span{color:var(--muted);font-size:13px}.table-wrap{overflow-x:auto}.pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin-top:16px;font-size:13px;font-weight:750;display:flex}.pagination>div{align-items:center;gap:8px;display:flex}.page-indicator{text-align:center;min-width:100px}.button-disabled,button:disabled{cursor:not-allowed;opacity:.52;pointer-events:none}table{border-collapse:collapse;width:100%;min-width:680px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:13px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:0;font-size:12px;font-weight:850}td{font-size:14px}.alert-list,.compact-list,.setting-list{gap:10px;display:grid}.alert-item,.list-row,.setting-list div{background:var(--surface-soft);border-radius:8px;padding:12px}.alert-item{border-left:3px solid var(--accent)}.alert-item strong,.alert-item span,.list-row strong,.list-row span,.setting-list strong,.setting-list span{display:block}.alert-item span,.list-row span,.setting-list span{color:var(--muted);margin-top:4px;font-size:13px}.list-row{justify-content:space-between;align-items:center;gap:12px;display:flex}@media (max-width:1040px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:5;padding:14px;position:sticky;top:0}.brand{margin-bottom:12px}.nav{grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.metrics-grid,.content-grid,.detail-grid,.admin-toolbar{grid-template-columns:1fr}}@media (max-width:700px){.workspace{padding:18px}.topbar,.section-heading{flex-direction:column;align-items:stretch}.select,.topbar-actions,.primary-button,.secondary-button{width:100%}.topbar-actions{grid-template-columns:1fr;display:grid}}.danger-button{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;min-height:40px;padding:0 14px}.danger-button:hover{background:#fecaca}.admin-form-grid,.inline-edit-grid,.schedule-form{gap:12px;display:grid}.admin-form-grid{grid-template-columns:repeat(4,minmax(190px,1fr))}.inline-edit-grid{grid-template-columns:repeat(5,minmax(170px,1fr));margin-top:12px}.admin-form-grid label,.inline-edit-grid label,.weekday-picker{color:var(--muted);gap:7px;font-size:13px;font-weight:750;display:grid}.admin-form-grid input,.admin-form-grid select,.inline-edit-grid input,.inline-edit-grid select{width:100%}.weekday-picker{border:1px solid var(--border);border-radius:8px;align-content:start;margin:0;padding:10px 12px 12px}.weekday-picker legend{color:var(--muted);padding:0 4px;font-size:13px;font-weight:800}.weekday-picker label{align-items:center;gap:6px;margin-right:8px;display:inline-flex}.weekday-picker input{width:auto;min-height:auto}.form-actions{align-content:end;gap:8px;display:grid}.form-actions span{color:var(--muted);font-size:12px}.stacked-form{gap:12px;display:grid}.stacked-form label:not(.confirmation-check){color:var(--muted);gap:7px;font-size:13px;font-weight:750;display:grid}.stacked-form p{color:var(--muted);font-size:13px}.confirmation-check{color:var(--muted);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;font-size:13px;display:grid}.confirmation-check input{min-height:auto;margin:2px 0 0}.access-scope-summary{color:#134e4a;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;align-content:start;gap:6px;min-height:42px;padding:10px 12px;display:grid}.access-scope-summary strong,.access-scope-summary span{display:block}.access-scope-summary>span{font-size:12px}.schedule-form{gap:16px}.schedule-section{grid-template-columns:repeat(4,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.schedule-section label{color:var(--muted);gap:7px;font-size:13px;font-weight:750;display:grid}.schedule-section input,.schedule-section select{width:100%}.weekday-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.weekday-options legend{width:100%}.weekday-pill{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-height:38px;padding:0 10px}.weekday-pill input{accent-color:var(--accent)}.agenda-board{grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;padding-bottom:2px;display:grid;overflow-x:auto}.agenda-day{border:1px solid var(--border);background:#f8fafc;border-radius:8px;align-content:start;gap:8px;min-height:110px;padding:10px;display:grid}.agenda-board-available{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.agenda-day>strong{color:var(--text);text-transform:capitalize;font-size:13px}.agenda-pill{color:#134e4a;background:#ccfbf1;border:1px solid #99f6e4;border-radius:8px;gap:3px;padding:8px;text-decoration:none;display:grid}.agenda-pill span{font-size:12px;font-weight:850}.agenda-pill small,.empty-slot{color:var(--muted);font-size:12px}.empty-slot{background:var(--surface-soft);border-radius:8px;padding:8px;display:block}.row-editor summary{color:var(--accent-dark);cursor:pointer;font-weight:850}.row-editor[open]{min-width:980px}.row-actions,.row-action-grid{align-items:end;gap:10px;display:flex}.row-action-grid{flex-wrap:wrap;margin-top:12px}@media (max-width:1180px){.admin-form-grid,.inline-edit-grid,.schedule-section{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-field{grid-column:span 2}.agenda-board{grid-template-columns:repeat(4,minmax(150px,1fr))}.user-filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.admin-form-grid,.inline-edit-grid,.schedule-section,.agenda-board{grid-template-columns:1fr}.wide-field{grid-column:auto}.calendar-code{max-width:72vw}.row-action-grid,.row-action-grid form,.row-action-grid button{width:100%}.user-filter-toolbar,.pagination{grid-template-columns:1fr;display:grid}.filter-actions,.filter-actions a,.filter-actions button,.pagination>div{width:100%}.pagination>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.page-indicator{grid-area:1/1/auto/-1}}
