:root{--bg:#f3f6f8;--brand-canvas:#fafaf4;--brand-canvas-strong:#f2f5ed;--brand-line:#d9e6df;--surface:#fff;--surface-raised:#fff;--surface-muted:#f7fafb;--surface-tint:#eef7f6;--soft:#f6f8fa;--line:#dbe4e8;--line-strong:#c5d2d8;--ink:#16232b;--muted:#60717b;--subtle:#87939b;--teal:#08766f;--teal-strong:#075f5a;--teal-soft:#dff5f1;--blue:#2563eb;--blue-soft:#e6efff;--green:#138a48;--green-soft:#e1f7ea;--amber:#c76a08;--amber-soft:#fff1d6;--rose:#d51f4c;--rose-soft:#ffe8ed;--violet:#6852d9;--violet-soft:#eeebff;--radius:8px;--radius-sm:6px;--shadow:0 10px 26px #14232d0f;--shadow-raised:0 18px 45px #14232d1f;--focus-ring:0 0 0 3px #08766f2e}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}input[type=file]::file-selector-button{border:1px solid var(--line);background:var(--surface-muted);color:var(--ink);cursor:pointer;font:inherit;border-radius:7px;min-height:30px;margin-right:10px;padding:0 10px;font-size:12px;font-weight:800}button{cursor:pointer}.app-shell{grid-template-columns:268px minmax(0,1fr);max-width:100vw;min-height:100vh;display:grid;overflow-x:clip}.sidebar{color:#e8f4f3;background:#102027;flex-direction:column;align-self:start;gap:22px;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:12px;padding:4px 4px 10px;display:flex}.brand-mark{width:42px;height:42px;color:var(--teal);background:#e9f7f4;border-radius:8px;flex:none;place-items:center;display:grid;overflow:hidden}.brand-mark img{border-radius:inherit;object-fit:contain;width:100%;height:100%;display:block}.brand strong,.brand span{display:block}.brand strong{font-size:18px}.brand span{color:#9db2b7;font-size:13px}.nav-list{gap:14px;display:grid}.nav-group{gap:6px;display:grid}.nav-group-title{color:#82a3aa;letter-spacing:.08em;text-transform:uppercase;padding:0 12px 2px;font-size:11px;font-weight:900}.nav-item{color:#cfe0e3;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;text-decoration:none;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#1d3941}.sidebar-card{background:#ffffff0f;border:1px solid #ffffff1f;border-radius:8px;margin-top:auto;padding:14px}.sidebar-card p{color:#bdd0d5;margin:8px 0 0;font-size:13px;line-height:1.45}.mini-heading{align-items:center;gap:8px;font-weight:700;display:flex}.workspace{min-width:0;padding:20px}.topbar{gap:12px;min-height:72px;margin-bottom:18px;display:grid}.topbar-main{justify-content:space-between;align-items:center;gap:16px;display:flex}.topbar-main>div:first-child{min-width:0}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:0;margin:0 0 4px;font-size:12px;font-weight:800}h1,h2{letter-spacing:0;margin:0}h1{font-size:clamp(24px,2.2vw,32px);line-height:1.1}h2{font-size:20px}.topbar-actions,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topbar-actions{justify-content:flex-end}.topbar-controls{flex-wrap:wrap;align-items:center;gap:10px;width:min(100%,920px);display:flex}.toolbar{justify-content:space-between}.search-field,.select-field{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:flex}.search-field input{width:min(260px,26vw);min-width:170px;color:var(--ink);background:0 0;border:0;outline:0}.select-field select{appearance:none;color:var(--ink);background:0 0;border:0;outline:0;max-width:180px}.select-field.compact select{max-width:124px}.topbar-search-field input{width:min(420px,42vw)}.module-ai-topbar-button{min-height:40px}.topbar-signout-button{min-width:40px;padding:0}.topbar-signout-button span{display:none}.topbar-chain-field span{color:var(--muted);white-space:nowrap;font-size:11px;font-weight:800}.topbar-chain-field select{max-width:170px}.module-ai-modal{width:min(760px,96vw)}.module-ai-floating{bottom:max(18px, env(safe-area-inset-bottom));pointer-events:none;right:max(18px, env(safe-area-inset-right));z-index:70;justify-items:end;display:grid;position:fixed}.module-ai-bubble{background:var(--teal);color:#fff;pointer-events:auto;border:0;border-radius:999px;justify-content:center;align-items:center;width:58px;height:58px;transition:box-shadow .16s,transform .16s;display:inline-flex;box-shadow:0 18px 40px #0f766e47}.module-ai-bubble:hover,.module-ai-bubble:focus-visible{outline:3px solid #0f766e33;transform:translateY(-2px);box-shadow:0 22px 46px #0f766e5c}.module-ai-chat-panel{background:var(--surface);border:1px solid var(--line);pointer-events:auto;border-radius:12px;gap:12px;width:min(420px,100vw - 28px);max-height:min(720px,100vh - 40px);padding:14px;display:grid;overflow:auto;box-shadow:0 24px 70px #17202a33}.module-ai-chat-panel .progress-modal-header{border-bottom:1px solid var(--line);margin:-2px -2px 0;padding:2px 2px 12px}.module-ai-chat-form{gap:10px;display:grid}.module-ai-chat-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.module-ai-chat-form textarea{border:1px solid var(--line);color:var(--text);font:inherit;resize:vertical;background:#fff;border-radius:8px;min-height:112px;padding:10px;line-height:1.45}.module-ai-note{color:var(--muted);margin:0;font-size:12px;font-weight:800;line-height:1.45}.module-ai-history{border-top:1px solid var(--line);gap:8px;margin-top:12px;padding-top:12px;display:grid}.module-ai-history-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.module-ai-history-row div{gap:2px;min-width:0;display:grid}.module-ai-history-row span,.module-ai-history-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pwa-install-banner{bottom:max(14px, env(safe-area-inset-bottom));box-shadow:var(--shadow);color:#fff;z-index:50;background:#102027;border:1px solid #ffffff24;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;max-width:min(92vw,520px);padding:12px;display:grid;position:fixed;left:50%;transform:translate(-50%)}.pwa-install-banner div{gap:2px;min-width:0;display:grid}.pwa-install-banner span{color:#bdd0d5;font-size:12px;line-height:1.35}.pwa-install-banner button{color:var(--teal);background:#ecfdf5;border:0;border-radius:8px;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.pwa-install-banner .pwa-install-close{color:#fff;background:#ffffff14;justify-content:center;min-width:36px;padding:0}.pwa-install-hint{max-width:160px}.topbar-patient-field select{max-width:260px}.patient-search-combobox{min-width:min(100%,440px);position:relative}.patient-search-input,.patient-search-input input{width:100%}.patient-search-current{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-height:18px;margin-top:6px;font-size:12px;display:flex;overflow:hidden}.patient-search-results{background:var(--surface);border:1px solid var(--line);z-index:30;border-radius:8px;max-height:320px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 38px #0f172a24}.patient-search-option{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;gap:3px;width:100%;padding:9px 10px;display:grid}.patient-search-option:hover,.patient-search-option:focus-visible{background:var(--soft);outline:none}.patient-search-option span,.patient-search-empty{color:var(--muted);font-size:12px}.patient-search-empty{padding:10px}.topbar-clear-search{min-height:40px;padding:0 12px}.journey-patient-menu-trigger{align-items:center;gap:7px;min-height:40px;padding:0 12px;display:inline-flex}.journey-patient-menu-backdrop{z-index:80;background:#0f172a2e;position:fixed;inset:0}.journey-patient-menu{background:var(--surface);border-left:1px solid var(--line);grid-template-rows:auto auto auto minmax(0,1fr);gap:14px;width:430px;max-width:min(430px,100vw);height:100vh;margin-left:auto;padding:16px;display:grid;overflow:hidden;box-shadow:-18px 0 44px #0f172a29}.journey-patient-menu-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.journey-patient-menu-header div{gap:3px;min-width:0;display:grid}.journey-patient-menu-header span,.journey-patient-current span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.journey-patient-menu-header h3{color:var(--ink);margin:0;font-size:18px;line-height:1.2}.journey-patient-menu-search,.journey-patient-menu-search input{width:100%}.journey-patient-current{background:color-mix(in srgb, var(--soft) 68%, #fff);border:1px solid var(--line);border-radius:8px;gap:7px;padding:12px;display:grid}.journey-patient-current strong,.journey-patient-current small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.journey-patient-current small{color:var(--muted);font-size:12px}.journey-patient-current div{gap:8px;display:flex}.journey-patient-current .secondary-button{flex:1 1 0;justify-content:center;min-height:36px}.journey-patient-menu-list{gap:14px;min-height:0;padding-right:2px;display:grid;overflow:auto}.journey-patient-menu-group{gap:8px;display:grid}.journey-patient-menu-group h4{color:var(--ink);align-items:center;gap:7px;margin:0;font-size:13px;display:flex}.journey-patient-menu-card{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;gap:3px;width:100%;padding:10px 11px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.journey-patient-menu-card:hover,.journey-patient-menu-card:focus-visible,.journey-patient-menu-card.active{border-color:color-mix(in srgb, var(--teal) 38%, var(--line));outline:0;box-shadow:0 8px 18px #0f766e1a}.journey-patient-menu-card:hover,.journey-patient-menu-card:focus-visible{transform:translateY(-1px)}.journey-patient-menu-card span,.journey-patient-menu-card small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.journey-patient-menu-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;padding:14px;font-size:13px;font-weight:800}.icon-button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);border-radius:8px;place-items:center;display:grid}.notification-bell-wrap,.notification-bell-button{position:relative}.notification-badge{border:2px solid var(--bg);color:#fff;background:#dc2626;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:10px;font-weight:900;display:inline-flex;position:absolute;top:-7px;right:-7px}.notification-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);z-index:70;border-radius:12px;gap:10px;width:min(440px,100vw - 32px);max-height:min(720px,100vh - 96px);padding:12px;display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notification-panel-header,.notification-list-toolbar,.notification-row,.notification-row-actions{align-items:center;display:flex}.notification-panel-header{justify-content:space-between;gap:12px}.notification-panel-header strong,.notification-panel-header span{display:block}.notification-panel-header strong{font-size:15px}.notification-panel-header span{color:var(--muted);font-size:12px}.notification-tabs{background:var(--bg);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;display:grid}.notification-tabs button{color:var(--muted);background:0 0;border:0;border-radius:6px;min-height:32px;padding:0 6px;font-size:12px;font-weight:800}.notification-tabs button.active{background:var(--ink);color:#fff}.notification-list-toolbar{color:var(--muted);justify-content:space-between;font-size:12px}.notification-list-toolbar button{color:var(--teal);background:0 0;border:0;font-weight:800}.notification-list{gap:8px;max-height:min(460px,100vh - 260px);padding-right:2px;display:grid;overflow:auto}.notification-row{background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;justify-content:space-between;gap:10px;padding:10px}.notification-row.priority-high{border-left-color:#dc2626}.notification-row.priority-low{border-left-color:var(--muted)}.notification-row.is-read{opacity:.72}.notification-row-main{min-width:0}.notification-row-title{align-items:center;gap:6px;font-size:13px;font-weight:900;display:flex}.notification-row-title span,.notification-row p{text-overflow:ellipsis;overflow:hidden}.notification-row-title span{white-space:nowrap}.notification-row-title i{background:#dc2626;border-radius:999px;width:8px;height:8px;display:block}.notification-row p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:12px;line-height:1.35;display:-webkit-box}.notification-row-meta{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.notification-row-meta span{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}.notification-row-actions{flex:none;gap:6px}.notification-empty{background:var(--bg);border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;margin:0;padding:18px}.notification-compose-form{gap:10px;max-height:min(520px,100vh - 220px);padding-right:2px;display:grid;overflow:auto}.notification-compose-form label,.notification-compose-grid label{gap:5px;display:grid}.notification-compose-form label>span,.notification-compose-grid label>span,.notification-targets summary{color:var(--muted);font-size:12px;font-weight:900}.notification-compose-form input,.notification-compose-form select,.notification-compose-form textarea{background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;width:100%;min-height:38px;padding:8px 10px}.notification-compose-form textarea{resize:vertical}.notification-compose-grid{grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);gap:8px;display:grid}.notification-targets{gap:8px;display:grid}.notification-targets-title{color:var(--ink);font-size:13px;font-weight:900}.notification-targets details,.notification-targets>.notification-check{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.notification-target-section[open]{border-color:color-mix(in srgb, var(--teal) 28%, var(--line))}.notification-targets summary{cursor:pointer}.notification-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.notification-check{align-items:center;min-width:0;gap:7px!important;display:flex!important}.notification-check input{width:auto;min-height:auto}.notification-check span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;color:var(--ink)!important;font-size:12px!important}.icon-button.small{width:32px;height:32px}.secondary-button{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-weight:800;text-decoration:none;display:inline-flex}.compact-button{gap:6px;min-height:34px;padding:0 10px}.primary-button{background:var(--teal);color:#fff;border:0;border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:800;text-decoration:none;display:inline-flex}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55}.link-button{width:fit-content}.context-badge,.user-chip{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:flex}.context-badge span{white-space:nowrap;font-weight:800}.user-chip{align-content:center;gap:1px;min-width:150px;max-width:170px;display:grid}.user-chip strong,.user-chip span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-chip strong{font-size:13px}.user-chip span{color:var(--muted);font-size:11px}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:4px;padding:4px;display:flex}.segmented button{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 14px}.segmented button.active{background:var(--ink);color:#fff}.pharmacy-section-tabs,.staff-section-tabs,.settings-section-tabs{flex-wrap:wrap;align-self:flex-start}.billing-workbench-tabs{flex-wrap:wrap;align-self:flex-start;margin-bottom:4px}.billing-workbench-tabs button{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.billing-workbench-tabs span{background:var(--surface-muted);color:var(--muted);border-radius:999px;min-width:22px;padding:2px 6px;font-size:11px;font-weight:900}.billing-workbench-tabs button.active span{color:#fff;background:#ffffff24}.billing-patient-list{gap:8px;display:grid}.billing-patient-card{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;grid-template-columns:minmax(220px,1.4fr) repeat(5,minmax(96px,.7fr)) auto;align-items:center;gap:12px;min-height:64px;padding:10px 12px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.billing-patient-card:hover,.billing-patient-card:focus-visible{border-color:var(--accent);outline:0;transform:translateY(-1px);box-shadow:0 10px 24px #0f766e1f}.billing-patient-card strong{overflow-wrap:anywhere;display:block}.billing-patient-card span,.billing-patient-card small{color:var(--muted);font-size:12px;font-weight:800;display:block}.billing-patient-card>span:last-child{color:var(--accent-strong);white-space:nowrap}.billing-selected-patient-bar{background:var(--surface);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.billing-selected-patient-bar>div{text-align:right;min-width:0}.billing-selected-patient-bar strong,.billing-selected-patient-bar span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.billing-selected-patient-bar span{color:var(--muted);font-size:12px;font-weight:800}.billing-patient-balance-panel{gap:12px}.billing-patient-balance-panel>.record-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-balance-form{grid-template-columns:minmax(160px,1fr) minmax(140px,.7fr) minmax(160px,1fr) auto;align-items:end;gap:10px;display:grid}.billing-balance-form label{gap:6px;display:grid}.billing-balance-form input,.billing-balance-form select{width:100%}.language-switch button{min-width:44px;padding:0 10px}.view-stack{gap:18px;min-width:0;display:grid}.workspace{min-width:0;overflow-x:clip}.metric-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;display:grid}.metric-grid.three{grid-template-columns:repeat(3,minmax(180px,1fr))}.billing-metric-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}.billing-metric-grid .metric-card{min-height:94px;padding:12px}.billing-metric-grid .metric-card span{font-size:11px;line-height:1.25}.billing-metric-grid .metric-card strong{overflow-wrap:anywhere;font-size:clamp(16px,1.4vw,22px)}.metric-card,.panel,.surface-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.metric-card{border-left-width:5px;flex-direction:column;justify-content:space-between;min-height:112px;padding:18px;display:flex}.metric-card span,.metric-card strong{display:block}.metric-card span{color:var(--muted);font-size:13px;font-weight:700}.metric-card strong{overflow-wrap:anywhere;font-size:clamp(20px,2.4vw,28px);line-height:1.1}.reports-summary-grid .metric-card,.inventory-metric-grid .metric-card{padding:14px}.reports-summary-grid .metric-card strong,.inventory-metric-grid .metric-card strong{font-size:clamp(18px,1.55vw,24px)}.metric-card.blue{border-left-color:var(--blue)}.metric-card.teal{border-left-color:var(--teal)}.metric-card.violet{border-left-color:var(--violet)}.metric-card.green{border-left-color:var(--green)}.metric-card.amber{border-left-color:var(--amber)}.metric-card.rose{border-left-color:var(--rose)}.content-grid{gap:18px;display:grid}.content-grid.two{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}.patient-layout{grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr)}.portal-layout,.settings-layout{grid-template-columns:minmax(340px,.8fr) minmax(420px,1.2fr)}.panel{min-width:0;padding:16px}.panel-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-header>div{align-items:center;gap:9px;display:flex}.panel-header strong{font-size:15px}.panel-header-action{border:1px solid var(--line);background:var(--surface-muted);min-height:32px;color:var(--ink);border-radius:7px;justify-content:center;align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.panel-action-link{border:1px solid var(--line);background:var(--surface-muted);min-height:32px;color:var(--ink);border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.clinic-list,.timeline,.table-list,.invoice-list,.permission-list,.compliance-list,.portal-list{gap:10px;display:grid}.clinic-row,.timeline-item,.invoice-row,.permission-row{border:1px solid var(--line);border-radius:8px;align-items:center;gap:12px;padding:12px;display:grid}.clinic-row{grid-template-columns:minmax(0,1fr) 180px}.clinic-row strong,.clinic-row span,.timeline-item strong,.timeline-item span,.invoice-row span,.permission-row span,.permission-row small{display:block}.clinic-row span,.timeline-item span,.invoice-row span,.permission-row span,.permission-row small{color:var(--muted);font-size:13px}.clinic-stats{text-align:right;gap:6px;display:grid}.progress,.bar-row div{background:#e5ecee;border-radius:999px;width:100%;height:8px;overflow:hidden}.progress i,.bar-row i{border-radius:inherit;background:var(--teal);height:100%;display:block}.timeline-item{grid-template-columns:64px minmax(0,1fr) auto}.timeline-item time{font-weight:800}.status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.status.confirmed,.status.claim-pending,.status.presented{background:var(--blue-soft);color:var(--blue)}.status.requested{color:#475569;background:#f1f5f9}.status.arrived,.status.in-progress,.status.partial{background:var(--amber-soft);color:#92400e}.status.in-chair,.status.accepted,.status.paid{background:var(--green-soft);color:#166534}.status.completed{background:var(--teal-soft);color:var(--teal)}.status.locked{background:var(--green-soft);color:#166534}.status.needs-follow-up,.status.overdue,.status.draft,.status.cancelled,.status.no-show,.status.void{background:var(--rose-soft);color:#be123c}.status.open{color:#475569;background:#f1f5f9}.status.active{background:var(--green-soft);color:#166534}.status.inactive{color:#475569;background:#f1f5f9}.surface-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.surface-card{box-shadow:none;gap:8px;padding:14px;display:grid}.surface-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.schedule-grid{grid-template-columns:86px repeat(auto-fit,minmax(230px,1fr));align-items:start;gap:10px;display:grid}.source-badge{display:none}.source-badge.live{background:var(--green-soft);color:#166534}.source-badge.demo{background:var(--amber-soft);color:#92400e}.schedule-alert{background:var(--amber-soft);color:#7c4a03;border:1px solid #f3d38a;border-radius:8px;padding:12px 14px;font-size:13px;font-weight:800}.schedule-alert.action{border-color:var(--line);background:var(--blue-soft);color:var(--blue)}.schedule-command-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.schedule-command-bar h2{margin:0}.schedule-command-bar span{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.45;display:block}.schedule-metrics{grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px;min-width:min(100%,320px);display:grid}.schedule-filters{grid-template-columns:minmax(180px,1.15fr) minmax(140px,.85fr) minmax(140px,.85fr) minmax(170px,1fr) minmax(160px,.95fr);align-items:end;gap:12px;display:grid}.schedule-filters label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.schedule-filters input,.schedule-filters select{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);border-radius:8px;padding:0 10px}.schedule-range-presets{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.schedule-range-presets button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;min-height:32px;padding:0 10px;font-size:12px;font-weight:850}.schedule-range-presets button.active{color:#fff;background:#0f766e;border-color:#0f766e}.schedule-dispatch-layout{grid-template-columns:minmax(0,1fr) minmax(270px,330px);align-items:start;gap:14px;display:grid}.schedule-grid-dispatch{overflow-x:auto}.schedule-metrics.three{grid-template-columns:repeat(3,minmax(110px,1fr))}.schedule-ops-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:14px;display:grid}.schedule-table-panel{overflow:hidden}.schedule-table{gap:8px;display:grid;overflow-x:auto}.schedule-row{border:1px solid var(--line);border-left:4px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:82px minmax(220px,1.4fr) minmax(150px,.9fr) minmax(120px,.7fr) 112px minmax(220px,.9fr);align-items:center;gap:10px;min-width:980px;padding:10px;display:grid}.schedule-row-head{border-left-color:var(--line);min-height:40px;color:var(--muted);background:#f8fafc;font-size:12px;font-weight:900}.schedule-row strong,.schedule-row span,.schedule-row small{display:block}.schedule-row span,.schedule-row small{color:var(--muted);font-size:12px}.schedule-row-actions{justify-content:flex-start;align-items:center;position:relative}.schedule-row-actions form{align-items:center;gap:6px;display:inline-flex}.schedule-row-actions select{border:1px solid var(--line);background:var(--surface);max-width:120px;min-height:28px;color:var(--ink);border-radius:7px;padding:0 7px;font-size:11px;font-weight:800}.appointment-status-control select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:34px;color:var(--ink);border-radius:8px;padding:0 9px;font-size:12px;font-weight:850}.appointment-quick-links{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.appointment-quick-links a{border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;min-height:30px;padding:0 9px;text-decoration:none;display:inline-flex}.appointment-quick-links a:hover{background:#f8fafc}.appointment-chair-modal{max-width:420px}.appointment-chair-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;padding-top:6px;display:grid}.appointment-chair-grid button{justify-content:center;min-height:40px}.schedule-empty-row{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;padding:18px;font-size:13px;font-weight:800}.schedule-side-stack{gap:14px;display:grid;position:sticky;top:14px}.schedule-availability-details{padding:0}.schedule-availability-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:70px;padding:14px;list-style:none;display:flex}.schedule-availability-details summary::-webkit-details-marker{display:none}.schedule-availability-details summary>span{grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:3px;min-width:0;display:grid}.schedule-availability-details summary svg{color:var(--teal);margin-top:2px}.schedule-availability-details summary strong,.schedule-availability-details summary small{min-width:0;display:block}.schedule-availability-details summary small{color:var(--muted);grid-column:2;font-size:12px;font-weight:800;line-height:1.35}.schedule-availability-details summary b{background:var(--teal-soft);color:var(--teal);text-align:right;border-radius:999px;flex:none;padding:6px 9px;font-size:12px;font-weight:900}.schedule-availability-body{border-top:1px solid var(--line);padding:12px}.schedule-resource-groups{gap:12px;display:grid}.schedule-resource-group{border:1px solid var(--line);border-radius:8px;gap:8px;padding:10px;display:grid}.schedule-resource-group-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;display:flex}.schedule-resource-group-header strong{color:var(--ink);font-size:13px}.schedule-resource-group-header span{color:var(--muted);font-size:12px;font-weight:900}.chair-status-grid,.provider-status-list{gap:8px;display:grid}.chair-status-card,.provider-status-card{border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:8px;gap:8px;padding:10px;display:grid}.chair-status-card.busy,.provider-status-card.busy{background:#fff3d6;border-color:#f1c27a #f1c27a #f1c27a #d97706}.chair-status-card.ready,.provider-status-card.ready{border-color:#a7e3c2;border-left-color:var(--green);background:#eaf8f1}.chair-status-card>div:not(.status-toggle-actions),.provider-status-card>div:not(.status-toggle-actions){justify-content:space-between;align-items:center;gap:10px;display:flex}.chair-status-card strong,.chair-status-card span,.chair-status-card small,.provider-status-card strong,.provider-status-card span,.provider-status-card small{display:block}.chair-status-card span,.chair-status-card small,.provider-status-card span,.provider-status-card small{color:var(--muted);font-size:12px;font-weight:800}.chair-status-card>div:not(.status-toggle-actions) span,.provider-status-card>div:not(.status-toggle-actions) span{border-radius:999px;padding:4px 8px}.chair-status-card.busy>div:not(.status-toggle-actions) span,.provider-status-card.busy>div:not(.status-toggle-actions) span{color:#9a3412;background:#fed7aa}.chair-status-card.ready>div:not(.status-toggle-actions) span,.provider-status-card.ready>div:not(.status-toggle-actions) span{color:#166534;background:#dcfce7}.status-toggle-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.status-toggle-actions form{display:flex}.chair-status-card button,.provider-status-card button{border:1px solid var(--line);background:var(--surface);width:100%;min-height:30px;color:var(--ink);border-radius:7px;padding:0 9px;font-size:12px;font-weight:900}.credential-box{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:8px;padding:12px;display:grid}.credential-box strong,.credential-box span,.credential-box small{display:block}.credential-box span,.credential-box small{color:var(--muted);font-size:12px}.credential-box input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:38px;color:var(--ink);border-radius:8px;padding:0 10px}.booking-form{grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end;gap:12px;display:grid}.booking-form label,.booking-form .booking-patient-search,.patient-form label,.patient-edit-form label,.treatment-form label,.phase-form label,.billing-form label,.clinical-form label,.community-form label,.staff-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.booking-form .booking-patient-search{min-width:0}.booking-form .booking-patient-search>span{color:var(--muted);font-size:12px;font-weight:900}.booking-form .booking-patient-search .patient-search-combobox{width:100%;min-width:0}.patient-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.patient-secondary-details{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;margin-top:14px}.patient-secondary-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:12px;list-style:none;display:flex}.patient-secondary-details summary::-webkit-details-marker{display:none}.patient-secondary-details summary strong,.patient-secondary-details summary span{display:block}.patient-secondary-details summary span{color:var(--muted);text-align:right;font-size:12px;font-weight:800}.patient-secondary-details .consent-actions,.patient-secondary-details .patient-consent-history{border-top:1px solid var(--line);padding:12px}.patient-profile-modal{width:min(860px,100vw - 28px);max-height:min(88vh,820px);overflow:auto}.patient-profile-modal .patient-source-form{border:1px solid var(--line);border-radius:8px;margin-bottom:12px;padding:12px}.field-helper,.booking-readiness{color:var(--muted);font-size:12px;font-weight:850;line-height:1.35;display:block}.field-helper.warning,.booking-readiness{color:#92400e}.field-label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:900;display:block}.primary-button.danger{background:#b42318;border-color:#b42318}.form-template-preview{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;gap:6px;padding:10px;display:grid}.form-template-preview small,.form-template-preview p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.booking-form select,.booking-form input,.patient-form select,.patient-form input,.patient-edit-form select,.patient-edit-form input,.patient-edit-form textarea,.treatment-form select,.treatment-form input,.phase-form input,.billing-form select,.billing-form input,.clinical-form select,.clinical-form textarea,.community-form select,.community-form input,.community-form textarea,.staff-form select,.staff-form input,.staff-form textarea,.staff-row select{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink);border-radius:8px;padding:0 10px}.booking-form select:disabled,.booking-form input:disabled,.patient-form select:disabled,.patient-form input:disabled,.patient-edit-form select:disabled,.patient-edit-form input:disabled,.patient-edit-form textarea:disabled,.treatment-form select:disabled,.treatment-form input:disabled,.phase-form input:disabled,.billing-form select:disabled,.billing-form input:disabled,.clinical-form select:disabled,.clinical-form textarea:disabled,.community-form select:disabled,.community-form input:disabled,.community-form textarea:disabled,.staff-form select:disabled,.staff-form input:disabled,.staff-form textarea:disabled,.staff-row select:disabled{color:var(--muted);background:#eef2f4}.staff-form textarea{resize:vertical;min-height:88px;padding:10px}.staff-form .form-check-row{align-items:center;gap:8px;min-height:40px;display:flex}.staff-form .form-check-row input{width:auto;min-height:0}.pharmacy-inline-forms{display:none}.pharmacy-group-list{gap:14px;display:grid}.pharmacy-group{gap:8px;display:grid}.pharmacy-group-title{justify-content:space-between;align-items:center;display:flex}.pharmacy-group-title strong{color:var(--ink);font-size:14px}.pharmacy-group-title span{color:var(--muted);font-size:12px;font-weight:900}.pharmacy-edit-tile{gap:7px;padding-right:48px;position:relative}.pharmacy-template-card{padding-right:86px}.pharmacy-card-edit,.pharmacy-card-print{position:absolute;top:10px}.pharmacy-card-edit{right:10px}.pharmacy-card-print{right:50px}.pharmacy-template-modal{width:min(920px,96vw)}.pharmacy-prescription-modal{width:min(1040px,96vw)}.pharmacy-prescription-builder{gap:14px;display:grid}.pharmacy-prescription-step{border:1px solid var(--line);border-radius:8px;gap:12px;padding:12px;display:grid}.pharmacy-prescription-step-header{align-items:center;gap:8px;display:flex}.pharmacy-prescription-step-header span{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:inline-flex}.pharmacy-template-apply-row{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.pharmacy-template-apply-row label,.pharmacy-rx-row label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.pharmacy-template-apply-row select,.pharmacy-rx-row input,.pharmacy-rx-row textarea{background:var(--surface);border:1px solid var(--line);color:var(--ink);font:inherit;border-radius:8px;min-height:38px;padding:0 10px}.pharmacy-rx-row textarea{resize:vertical;min-height:74px;padding:10px}.pharmacy-template-preview{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;gap:6px;padding:10px;display:grid}.pharmacy-template-preview small,.pharmacy-template-preview span{color:var(--muted);font-size:12px}.pharmacy-template-preview div{flex-wrap:wrap;gap:6px;display:flex}.pharmacy-template-preview span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 8px}.pharmacy-rx-row-list{gap:12px;display:grid}.pharmacy-rx-row{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;gap:10px;padding:12px;display:grid}.pharmacy-rx-row-head{grid-template-columns:30px minmax(0,1fr) minmax(110px,150px) 36px;align-items:start;gap:10px;display:grid}.pharmacy-rx-row-head>span{border:1px solid var(--line);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:inline-flex}.pharmacy-rx-row-grid{grid-template-columns:1fr;gap:10px;display:grid}.pharmacy-rx-row-grid .clinical-wide{grid-column:auto}.pharmacy-medication-results{background:var(--surface);border:1px solid var(--line);z-index:20;border-radius:8px;width:min(520px,100vw - 64px);max-height:220px;margin-top:4px;padding:6px;display:grid;position:absolute;overflow:auto;box-shadow:0 12px 30px #0f172a1f}.pharmacy-medication-results button,.pharmacy-medication-results div{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;gap:2px;padding:8px;display:grid}.pharmacy-medication-results button:hover{background:#eef6f5}.pharmacy-medication-results span{color:var(--muted);font-size:12px}.pharmacy-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.pharmacy-detail-grid div,.pharmacy-detail-note{border:1px solid var(--line);border-radius:8px;gap:4px;padding:10px;display:grid}.pharmacy-detail-grid span{color:var(--muted);font-size:12px;font-weight:800}.pharmacy-detail-note p{margin:0}.pharmacy-detail-items{gap:10px;display:grid}.pharmacy-template-items{gap:12px;display:grid}.pharmacy-template-item{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;gap:10px;padding:12px;display:grid}.pharmacy-template-item-head{grid-template-columns:36px minmax(260px,1fr) 120px;align-items:center;gap:8px;display:grid}.pharmacy-template-item-head span{border:1px solid var(--line);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:inline-flex}.pharmacy-template-item label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.pharmacy-template-item select,.pharmacy-template-item input,.pharmacy-template-item textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;min-height:38px;padding:0 10px}.pharmacy-template-item textarea{resize:vertical;min-height:76px;padding:10px}.pharmacy-prescription-items{gap:4px;margin-top:8px;display:grid}.pharmacy-prescription-item{color:var(--muted);font-size:12px;line-height:1.45}.pharmacy-prescription-item strong{color:var(--ink)}.pharmacy-prescription-card{border:1px solid var(--line);background:#f9fbfb;border-radius:8px}.pharmacy-prescription-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:76px;padding:12px;list-style:none;display:grid}.pharmacy-prescription-summary::-webkit-details-marker{display:none}.pharmacy-prescription-summary span,.pharmacy-prescription-summary small{color:var(--muted);font-size:13px;display:block}.pharmacy-prescription-card-body{border-top:1px solid var(--line);gap:12px;padding:12px;display:grid}.pharmacy-prescription-actions{justify-content:flex-start}.pharmacy-medication-card-list{gap:12px;display:grid}.pharmacy-medication-card{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;padding:0;position:relative}.pharmacy-medication-card-summary{cursor:pointer;grid-template-columns:minmax(0,1fr) minmax(120px,auto) auto;gap:12px;min-height:70px;padding:12px 52px 12px 12px;list-style:none;display:grid}.pharmacy-medication-card-summary::-webkit-details-marker{display:none}.pharmacy-medication-card-body{border-top:1px solid var(--line);gap:10px;padding:12px;display:grid}.pharmacy-medication-card:not([open]) .pharmacy-card-edit{top:50%;transform:translateY(-50%)}.pharmacy-medication-card[open] .pharmacy-card-edit{transform:none}.pharmacy-medication-card-summary h3{color:var(--ink);margin:2px 0;font-size:17px;line-height:1.25}.pharmacy-medication-card-summary span,.pharmacy-medication-card-summary small,.pharmacy-medication-indication span,.pharmacy-medication-strength span,.pharmacy-medication-facts span{color:var(--muted);font-size:12px;font-weight:900}.pharmacy-medication-card-summary p{color:var(--muted);margin:0;font-size:13px}.pharmacy-medication-card-form{background:var(--surface);border:1px solid var(--line);text-align:right;border-radius:8px;align-self:start;gap:3px;padding:8px 10px;display:grid}.pharmacy-medication-card-toggle{white-space:nowrap;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:999px;place-self:center end;padding:6px 10px;color:#047857!important}.pharmacy-medication-card[open] .pharmacy-medication-card-toggle{border-color:var(--line);background:#eef6f5}.pharmacy-medication-indication,.pharmacy-medication-directions,.pharmacy-medication-warning,.pharmacy-medication-notes,.pharmacy-medication-more{border:1px solid var(--line);border-radius:8px;gap:6px;padding:10px;display:grid}.pharmacy-medication-indication{background:#eef6f5}.pharmacy-medication-strength{background:#e3f3f1;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.pharmacy-medication-strength strong{font-size:18px}.pharmacy-medication-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pharmacy-medication-facts div{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:4px;padding:9px;display:grid}.pharmacy-medication-directions p,.pharmacy-medication-more p{margin:0}.pharmacy-medication-warning{background:#fff1f2;border-color:#fecdd3}.pharmacy-medication-warning strong{color:#be123c}.pharmacy-medication-warning ul,.pharmacy-medication-notes ul{margin:0;padding-left:18px}.pharmacy-medication-warning li,.pharmacy-medication-notes li{margin-top:3px}.pharmacy-medication-more{background:var(--surface)}.pharmacy-medication-more summary{color:var(--ink);cursor:pointer;font-weight:900}.pharmacy-action-note{color:var(--muted);max-width:180px;font-size:12px;font-weight:800;display:inline-flex}.forms-row-details{gap:4px;margin-top:8px;display:grid}.booking-form .booking-reason{grid-column:span 2}.patient-form{grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end;gap:12px;display:grid}.treatment-form{grid-template-columns:repeat(5,minmax(140px,1fr));align-items:end;gap:12px;display:grid}.treatment-form .treatment-wide{grid-column:span 2}.treatment-actions{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.treatment-actions button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--ink);border-radius:7px;padding:0 9px;font-size:12px;font-weight:900}.phase-form{border-top:1px solid var(--line);grid-template-columns:minmax(120px,1fr) 120px minmax(160px,1.4fr) auto;align-items:end;gap:8px;padding-top:12px;display:grid}.billing-form{grid-template-columns:minmax(220px,1.2fr) minmax(140px,.8fr) minmax(150px,.8fr) auto;align-items:end;gap:12px;display:grid}.clinical-form{grid-template-columns:repeat(2,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.clinical-form .clinical-wide{grid-column:1/-1}.clinical-form textarea{min-height:96px;padding:10px}.community-form{grid-template-columns:minmax(140px,.8fr) minmax(180px,1fr) minmax(220px,1.4fr) auto;align-items:end;gap:12px;display:grid}.community-form .community-body,.community-form .community-tags{grid-column:span 2}.community-form textarea{min-height:88px;padding:10px}.staff-form{grid-template-columns:repeat(2,minmax(170px,1fr));align-items:end;gap:12px;display:grid}.staff-form label small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.35}.inventory-check-card{background:color-mix(in srgb, var(--soft) 72%, #fff);border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:flex-start;min-height:64px;padding:12px;flex-direction:row!important;gap:10px!important;display:flex!important}.inventory-check-card input[type=checkbox]{accent-color:var(--teal);flex:none;width:18px;height:18px;margin-top:2px}.inventory-check-card span{gap:3px;min-width:0;display:grid}.inventory-check-card strong{color:var(--ink);font-size:13px;line-height:1.25}.inventory-check-card small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}.staff-filter-bar{justify-content:flex-start;align-items:end;display:flex}.staff-filter-bar label{color:var(--muted);gap:6px;min-width:min(320px,100%);font-size:12px;font-weight:900;display:grid}.staff-filter-bar select{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;min-height:42px;padding:0 12px}.staff-workflow-details{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;margin-top:10px;padding:0}.staff-workflow-details summary{color:var(--ink);cursor:pointer;padding:12px 14px;font-size:13px;font-weight:950;list-style:none}.staff-workflow-details summary::-webkit-details-marker{display:none}.staff-workflow-details summary:after{color:var(--muted);content:"+";float:right;font-weight:950}.staff-workflow-details[open] summary{border-bottom:1px solid var(--line)}.staff-workflow-details[open] summary:after{content:"-"}.staff-workflow-details>.staff-form,.staff-workflow-details>.service-action-row{margin:12px}.staff-workflow-details:not([open])>.staff-form,.staff-workflow-details:not([open])>.service-action-row{display:none}.staff-calendar-panel{overflow:hidden}.staff-calendar-hint{color:var(--muted);margin:-4px 0 12px;font-size:13px;font-weight:700}.staff-day-picker{--rdp-accent-color:var(--teal);--rdp-day-width:auto;--rdp-day-height:auto;--rdp-nav_button-width:34px;--rdp-nav_button-height:34px;border:1px solid var(--line);background:linear-gradient(#fff 0%,#f8fbfb 100%);border-radius:8px;width:100%;margin:0;padding:12px}.staff-day-picker .rdp-months{width:100%;display:block}.staff-day-picker .rdp-month{width:100%;min-width:0}.staff-day-picker .rdp-month_caption{align-items:center;min-height:38px;padding:0 4px 10px;display:flex}.staff-day-picker .rdp-caption_label{color:var(--ink);font-size:18px;font-weight:900}.staff-day-picker .rdp-nav{gap:6px}.staff-day-picker .rdp-button_previous,.staff-day-picker .rdp-button_next{border:1px solid var(--line);color:var(--ink);border-radius:8px;transition:background .16s,border-color .16s}.staff-day-picker .rdp-button_previous:hover,.staff-day-picker .rdp-button_next:hover{border-color:var(--teal);background:#eefaf7}.staff-day-picker .rdp-month_grid{border-collapse:separate;border-spacing:7px;table-layout:fixed;width:100%}.staff-day-picker .rdp-weekday{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.staff-day-picker .rdp-day{padding:0}.staff-day-picker-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#eefaf7;border-radius:8px;align-content:start;gap:9px;width:100%;min-height:124px;padding:10px;transition:background .16s,border-color .16s,box-shadow .16s;display:grid}.staff-day-picker-button:hover,.rdp-selected .staff-day-picker-button{border-color:var(--teal);box-shadow:0 10px 22px #0f766e1f}.rdp-selected .staff-day-picker-button{background:#dcf7ef}.staff-day-picker-button.month-start{border-color:#8dd6c7;box-shadow:inset 0 3px #14b8a6}.staff-day-picker-button:disabled{box-shadow:none;color:#9aa7ad;cursor:default;background:#f3f6f7;border-color:#e3e8eb}.staff-day-picker-topline{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.staff-day-picker-date{background:#d8f2ed;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:950;line-height:1;display:inline-flex}.staff-month-start-badge{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#0f766e;border-radius:999px;max-width:86px;padding:5px 7px;font-size:10px;font-weight:950;line-height:1;overflow:hidden}.staff-day-picker-stats{gap:5px;display:grid}.staff-day-picker-stats span{color:#31505a;border-radius:999px;justify-content:space-between;align-items:center;gap:6px;min-height:22px;padding:0 7px;font-size:11px;font-weight:900;line-height:1;display:flex}.staff-day-picker-stats span span{background:var(--surface);border:1px solid;border-radius:999px;justify-content:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;display:inline-flex}.staff-day-picker-stats .work{color:#166534;background:#eaf8f0}.staff-day-picker-stats .leave{color:#92400e;background:#fff7e6}.staff-day-picker-stats .pending{color:#3730a3;background:#eef2ff}.staff-calendar-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.staff-calendar-day{border:1px solid var(--line);min-height:118px;color:var(--ink);cursor:pointer;text-align:left;background:#fbfcfd;border-radius:8px;gap:5px;padding:10px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.staff-calendar-day:hover,.staff-calendar-day.active{border-color:var(--teal);box-shadow:0 10px 22px #0f766e1f}.staff-calendar-day.active{background:#eefaf7}.staff-calendar-day strong,.staff-calendar-day span{display:block}.staff-calendar-day strong{font-size:13px;line-height:1.2}.staff-calendar-day span{color:var(--muted);font-size:12px;font-weight:800;line-height:1.25}.staff-day-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.staff-day-modal{width:min(1120px,96vw);max-height:min(760px,90vh);overflow:hidden}.staff-day-modal-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-right:4px;display:grid;overflow:auto}.staff-ops-metric-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px}.staff-ops-metric-grid .metric-card{min-height:88px;padding:12px}.staff-ops-metric-grid .metric-card strong{font-size:clamp(18px,1.8vw,24px)}.staff-roster-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:10px;margin-top:14px;display:grid}.staff-today-list{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:10px}.staff-today-list>strong{margin-bottom:8px;display:block}.staff-today-list>small{color:var(--muted);font-size:12px}.staff-today-pill{color:var(--ink);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;margin-top:6px;font-size:13px;font-weight:800;display:grid}.staff-today-pill>span:first-child{background:var(--blue);border-radius:999px;width:8px;height:8px;margin-top:5px}.staff-today-pill.present>span:first-child{background:var(--green)}.staff-today-pill.future>span:first-child{background:var(--blue)}.staff-today-pill.leave>span:first-child,.staff-today-pill.pending>span:first-child{background:var(--amber)}.staff-today-pill.absent>span:first-child{background:var(--rose)}.staff-today-pill small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:700;display:block}.staff-attendance-row.billing-invoice-row{grid-template-columns:minmax(220px,1fr) auto minmax(0,1.6fr)}.staff-attendance-row .invoice-actions:empty{display:none}.staff-attendance-adjust-form.service-step-form{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));min-width:0}.staff-attendance-adjust-form input,.staff-attendance-adjust-form button{width:100%;min-width:0}.staff-pending-leave-row{grid-template-columns:minmax(0,1fr) auto}.staff-list{gap:10px;margin-top:16px;display:grid}.staff-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(180px,.9fr) auto auto;align-items:center;gap:10px;padding:10px;display:grid}.staff-list.compact .staff-row{grid-template-columns:minmax(0,1fr) auto}.staff-row strong,.staff-row span,.staff-row small{display:block}.staff-row span,.staff-row small{color:var(--muted);margin-top:3px;font-size:12px}.staff-row form{align-items:center;gap:6px;display:flex}.staff-row button,.mobile-card button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:12px;font-weight:900}.settings-permissions{margin-top:14px}.settings-permission-card{grid-template-columns:minmax(160px,.8fr) minmax(220px,1fr);align-items:start}.settings-permission-modules{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.settings-permission-modules span{border:1px solid var(--line);color:var(--text);border-radius:999px;padding:4px 8px;font-size:12px}.settings-metric-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}.settings-overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:14px;display:grid}.settings-section-tabs{justify-content:flex-start;width:fit-content;max-width:100%;overflow-x:auto}.settings-overview-grid[data-settings-section=accounts]{grid-template-columns:minmax(0,1fr)}.settings-overview-grid[data-settings-section=accounts] .settings-side-stack,.settings-overview-grid[data-settings-section=organization] [data-settings-block]:not([data-settings-block=organization]),.settings-overview-grid[data-settings-section=archive] [data-settings-block]:not([data-settings-block=archive]),.settings-overview-grid[data-settings-section=providers] [data-settings-block]:not([data-settings-block=providers]),.settings-overview-grid[data-settings-section=governance] [data-settings-block]:not([data-settings-block=governance]){display:none}.settings-overview-grid[data-settings-section=organization],.settings-overview-grid[data-settings-section=archive],.settings-overview-grid[data-settings-section=providers],.settings-overview-grid[data-settings-section=governance]{grid-template-columns:minmax(0,1fr)}.settings-lower-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.settings-side-stack,.settings-staff-grid,.settings-clinic-list,.settings-audit-list{gap:10px;display:grid}.settings-account-groups{gap:14px;display:grid}.settings-account-group{background:#fbfdfc;border:1px solid #dfe8e6;border-radius:8px;gap:10px;padding:10px;display:grid}.settings-account-group-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-account-group-head>div{gap:3px;min-width:0;display:grid}.settings-account-group-head strong{color:var(--ink);font-size:14px}.settings-account-group-head span{color:var(--muted);font-size:12px;font-weight:750;line-height:1.35}.settings-account-group-head b{color:#0f5138;text-align:center;background:#f1fbf7;border:1px solid #cfe7df;border-radius:999px;flex:none;min-width:34px;padding:6px 10px;font-size:12px}.settings-role-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.settings-role-chips span{color:#0f5138;background:#f1fbf7;border:1px solid #cfe7df;border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.settings-staff-card{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.settings-staff-card.compact{background:var(--surface);gap:9px}.settings-staff-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.settings-staff-card-head>div,.settings-staff-meta{gap:4px;display:grid}.settings-staff-identity{align-items:center;gap:10px;min-width:0;display:flex!important}.settings-staff-identity>div:last-child{gap:4px;min-width:0;display:grid}.settings-staff-avatar{border:1px solid var(--line);background:var(--blue-soft);width:44px;height:44px;color:var(--blue);border-radius:8px;flex:0 0 44px;place-items:center;font-weight:950;display:grid;overflow:hidden}.settings-staff-avatar img{object-fit:cover;width:100%;height:100%}.settings-staff-card-head strong{font-size:15px}.settings-staff-card-head span,.settings-staff-meta span,.settings-staff-quickline span,.settings-staff-profile-summary span,.settings-password-state,.settings-clinic-row span,.settings-audit-list span{color:var(--muted);font-size:12px;font-weight:750}.settings-staff-meta{grid-template-columns:minmax(130px,.8fr) minmax(170px,1fr) minmax(150px,.9fr);gap:8px}.settings-staff-quickline{flex-wrap:wrap;gap:6px;display:flex}.settings-staff-quickline span{text-overflow:ellipsis;white-space:nowrap;background:#f7fbfa;border:1px solid #dfe8e6;border-radius:999px;max-width:100%;padding:5px 8px;overflow:hidden}.settings-staff-profile-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.settings-profile-completeness{gap:6px;display:grid}.settings-profile-completeness>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.settings-profile-completeness strong{font-size:12px}.settings-profile-completeness span{color:var(--muted);font-size:12px}.settings-profile-completeness-track{background:#e5e7eb;border-radius:999px;height:6px;overflow:hidden}.settings-profile-completeness-track span{background:#0f766e;height:100%;display:block}.settings-password-state{align-items:center;gap:8px;display:flex}.settings-staff-card .settings-profile-completeness,.settings-staff-card .settings-staff-account-editor,.settings-staff-card .settings-staff-profile-editor{display:none}.settings-staff-card-actions{justify-content:flex-end;display:flex}.settings-staff-card-actions button{min-height:34px}.settings-staff-config-modal{max-width:min(900px,100vw - 32px)}.settings-staff-config-summary{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:13px;font-weight:800;display:flex}.settings-staff-config-tabs{margin:12px 0}.settings-staff-config-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.settings-staff-config-form label{color:var(--muted);gap:5px;font-size:12px;font-weight:850;display:grid}.settings-staff-config-form input,.settings-staff-config-form select{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:13px;font-weight:800}.settings-access-config-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-access-config-form fieldset,.settings-staff-config-form .progress-modal-actions,.settings-security-config,.settings-security-config .settings-staff-actions{grid-column:1/-1}.settings-security-config{gap:12px;display:grid}.settings-staff-actions{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:center;gap:8px;padding-top:10px;display:grid}.settings-staff-actions form{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.settings-staff-actions .settings-role-assignment-form{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr)) auto}.settings-role-assignment-form label,.settings-role-assignment-fieldset{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.settings-role-assignment-form fieldset,.settings-role-assignment-fieldset{border:1px solid var(--line);border-radius:8px;margin:0;padding:10px}.settings-role-checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.settings-role-checkbox-grid label{background:var(--surface-muted);border:1px solid var(--line);color:var(--ink);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:42px;padding:8px;display:grid}.settings-role-checkbox-grid input{margin:0}.settings-role-checkbox-grid span{gap:2px;display:grid}.settings-role-checkbox-grid small{color:var(--muted);font-size:11px;font-weight:700}.settings-staff-actions form:not(:first-child){grid-template-columns:1fr}.settings-staff-actions select,.settings-staff-actions button,.settings-staff-modal input,.settings-staff-modal select{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);border-radius:8px;padding:0 10px;font-size:13px;font-weight:800}.settings-staff-actions select{min-width:150px}.settings-staff-actions button{white-space:nowrap}.settings-staff-account-editor,.settings-staff-profile-editor{border-top:1px solid var(--line);padding-top:10px}.settings-staff-account-editor summary,.settings-staff-profile-editor summary{cursor:pointer;color:var(--ink);font-size:13px;font-weight:900}.settings-staff-profile-editor form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px;display:grid}.settings-staff-profile-editor label{color:var(--muted);gap:5px;font-size:12px;font-weight:850;display:grid}.settings-staff-profile-editor input,.settings-staff-profile-editor select,.settings-staff-profile-editor button{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);border-radius:8px;width:100%;padding:0 10px;font-size:13px;font-weight:800}.settings-staff-profile-editor input[type=file]{padding:7px 10px}.settings-profile-file-field,.settings-staff-profile-editor button{grid-column:span 3}.settings-clinic-form,.settings-clinic-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:8px;padding:10px;display:grid}.settings-clinic-edit-form{gap:8px;display:grid}.settings-clinic-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-clinic-form button,.settings-form-hint{grid-column:1/-1}.settings-form-hint{color:var(--muted);font-size:12px;font-weight:750;line-height:1.35}.settings-archive-note{color:#0f5138;background:#f1fbf7;border:1px solid #cfe7df;border-radius:8px;margin-bottom:10px;padding:10px;font-size:12px;font-weight:800;line-height:1.45}.settings-archive-list{gap:10px;display:grid}.settings-archive-search{color:var(--muted);gap:6px;margin-bottom:10px;font-size:12px;font-weight:850;display:grid}.settings-archive-search input{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:8px;min-height:40px;padding:0 10px}.settings-archive-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:10px;padding:10px;display:grid}.settings-archive-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.settings-archive-head>div,.settings-archive-counts{gap:4px;display:grid}.settings-archive-head span,.settings-archive-row small,.settings-archive-counts span{color:var(--muted);font-size:12px;font-weight:750}.settings-archive-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-archive-row button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:8px;width:100%;padding:0 10px;font-size:13px;font-weight:850}.settings-provider-readiness{border:1px solid var(--line);border-radius:8px;gap:10px;margin:12px 0;padding:12px;display:grid}.settings-provider-readiness-head{gap:4px;display:grid}.settings-provider-readiness-head span{color:var(--muted);font-size:12px}.settings-provider-readiness-grid{gap:8px;display:grid}.settings-provider-tile{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.settings-provider-tile div{gap:2px;display:grid}.settings-provider-tile span,.settings-provider-tile small{color:var(--muted);font-size:12px}.settings-clinic-row label{color:var(--muted);gap:4px;font-size:11px;font-weight:900;display:grid}.settings-clinic-status{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.settings-clinic-status>div{gap:3px;min-width:0;display:grid}.settings-clinic-form input,.settings-clinic-form select,.settings-clinic-form button,.settings-clinic-row input,.settings-clinic-row select,.settings-clinic-row button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:8px;padding:0 9px;font-size:12px;font-weight:850}.settings-chair-manager{border-top:1px solid var(--line);padding-top:8px}.settings-chair-manager summary{cursor:pointer;justify-content:space-between;align-items:center;font-size:12px;font-weight:900;list-style:none;display:flex}.settings-chair-manager summary::-webkit-details-marker{display:none}.settings-chair-manager summary b{color:var(--muted);font-size:12px}.settings-chair-form,.settings-chair-row{gap:8px;display:grid}.settings-chair-form{grid-template-columns:minmax(120px,1fr) minmax(110px,.8fr) auto;padding-top:10px}.settings-chair-list{gap:8px;padding-top:10px;display:grid}.settings-chair-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(120px,1.1fr) minmax(110px,1fr) minmax(98px,.85fr) auto auto;align-items:center;padding:8px}.settings-chair-title{gap:4px;display:grid}.settings-clinic-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.settings-clinic-advanced{border-top:1px solid var(--line);padding-top:8px}.settings-clinic-advanced summary{cursor:pointer;color:var(--ink);font-size:12px;font-weight:900}.settings-clinic-advanced>div{gap:8px;padding-top:8px;display:grid}.settings-audit-list span{background:#f7fbfa;border-left:3px solid #8cc8b5;border-radius:7px;padding:9px 10px}.settings-staff-modal{width:min(760px,96vw)}.patient-edit-form{grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;margin-top:16px;display:grid}.patient-form .patient-wide,.patient-edit-form .patient-wide{grid-column:span 2}.patient-edit-form textarea{resize:vertical;min-height:72px;padding:10px}.consent-actions{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0;padding:12px;display:flex}.consent-actions button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--ink);border-radius:7px;padding:0 10px;font-size:12px;font-weight:900}.consent-actions button:disabled{cursor:not-allowed;opacity:.55}.consent-actions span{color:var(--muted);font-size:12px;font-weight:800}.time-column,.schedule-column{gap:10px;display:grid}.time-column span,.schedule-column-head{min-height:54px}.time-column span,.time-column time{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;place-items:center;font-size:13px;font-weight:800;display:grid}.time-column time,.schedule-slot{min-height:112px}.schedule-column-head,.schedule-slot{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px}.schedule-column-head strong,.schedule-column-head span,.appointment-card strong,.appointment-card span,.appointment-card small{display:block}.schedule-column-head span,.appointment-card span,.appointment-card small,.empty-slot{color:var(--muted);font-size:12px}.schedule-slot{align-content:start;gap:8px;display:grid}.empty-slot{place-self:center}.appointment-card{border-left:4px solid var(--teal);background:#f9fbfb;border-radius:8px;gap:7px;padding:10px;display:grid}.appointment-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.appointment-requested{border-left-color:#64748b}.appointment-confirmed{border-left-color:var(--blue)}.appointment-arrived{border-left-color:#d97706}.appointment-in-chair{border-left-color:#7c3aed}.appointment-completed{border-left-color:var(--teal)}.appointment-no-show,.appointment-cancelled{opacity:.86;border-left-color:#be123c}.appointment-warning{background:var(--amber-soft);color:#92400e;border-radius:999px;justify-self:start;padding:3px 8px;font-size:11px;font-weight:900}.appointment-locked,.appointment-action-note{color:#475569;background:#f1f5f9;border-radius:999px;justify-self:start;padding:3px 8px;font-size:11px;font-weight:900}.appointment-links{flex-wrap:wrap;gap:6px;display:flex}.appointment-links a{border:1px solid var(--line);background:var(--surface);min-height:28px;color:var(--ink);border-radius:7px;align-items:center;padding:0 8px;font-size:11px;font-weight:900;text-decoration:none;display:inline-flex}.appointment-actions{flex-wrap:wrap;gap:6px;display:flex}.appointment-actions button{border:1px solid var(--line);background:var(--surface);min-height:28px;color:var(--ink);border-radius:7px;padding:0 8px;font-size:11px;font-weight:900}.appointment-actions .danger-link{color:#be123c;background:var(--rose-soft);border-color:#fecdd3}.schedule-queue{position:sticky;top:14px}.schedule-queue-list{gap:8px;display:grid}.schedule-queue details{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;padding:8px}.schedule-queue summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:900;display:flex}.schedule-queue-item{border-top:1px solid var(--line);color:var(--ink);gap:3px;margin-top:8px;padding:8px 0 0;text-decoration:none;display:grid}.schedule-queue-item span{color:var(--muted);font-size:12px}.table-row{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1.35fr) 120px 120px;align-items:center;gap:12px;width:100%;min-height:64px;padding:10px;display:grid}.table-row.active{border-color:var(--teal);background:var(--teal-soft)}.table-row strong,.table-row small,.table-row span{display:block}.table-row small,.table-row>span:not(:first-child){color:var(--muted);font-size:12px}.patient-card{align-self:start;min-height:520px;max-height:calc(100vh - 112px);position:sticky;top:96px;overflow:auto}.patient-profile-strip{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:12px 0;display:grid;overflow:hidden}.patient-profile-strip>div,.patient-operation-strip>span{background:#fbfcfd;min-width:0;padding:10px 12px}.patient-profile-strip span,.patient-operation-strip span span{color:var(--muted);margin-bottom:3px;font-size:12px;font-weight:800;display:block}.patient-profile-strip strong,.patient-operation-strip strong{color:var(--ink);overflow-wrap:anywhere;font-size:14px;display:block}.patient-consent-history{gap:8px;margin:12px 0;display:grid}.patient-consent-history>strong{font-size:13px}.patient-consent-history .table-row{grid-template-columns:minmax(0,1.2fr) 110px 110px;min-height:52px}.patient-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.patient-summary div,.record-tile,.audit-box{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;padding:12px}.patient-summary span,.record-tile span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.patient-summary strong,.record-tile strong{font-size:14px;display:block}.patient-operations{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.patient-operation-strip{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:12px;display:grid;overflow:hidden}.patient-quick-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.patient-quick-actions .secondary-button,.patient-quick-actions .primary-button{min-height:40px;padding-inline:12px}.patient-edit-action{margin-left:auto}.flag-list{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.flag-list span{color:#334155;background:#edf2f7;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.patient-flag-list{margin-top:6px}.flag-list.clinical span:first-child{background:var(--rose-soft);color:#be123c}.journey-selector{justify-content:space-between;align-items:center;gap:16px;display:flex}.journey-selector h3{margin-top:4px}.journey-grid{grid-template-columns:repeat(2,minmax(360px,1fr))}.journey-odontogram-panel,.journey-services-panel{grid-column:1/-1}.journey-services-panel{overflow:hidden}.journey-detail-list{gap:10px;margin:0;display:grid}.journey-detail-list div,.journey-note,.journey-plan-list article,.service-list article,.journey-timeline article:not(.chart-timeline-event){border:1px solid var(--line);background:#f9fbfb;border-radius:8px;padding:12px}.journey-detail-list dt{color:var(--muted);font-size:12px;font-weight:800}.journey-detail-list dd{margin:4px 0 0;font-weight:800}.journey-note,.journey-plan-list,.service-list,.journey-timeline{gap:10px;display:grid}.journey-note span,.journey-note small,.service-list span,.service-list small,.journey-timeline span,.journey-timeline small{color:var(--muted);font-size:12px}.journey-note strong,.service-list strong,.journey-timeline strong{margin-top:4px;display:block}.journey-plan-list article,.journey-timeline article:not(.chart-timeline-event){align-items:center;gap:12px;display:grid}.journey-plan-list article{grid-template-columns:minmax(0,1fr) auto}.journey-timeline article:not(.chart-timeline-event){grid-template-columns:120px minmax(0,1fr) auto}.journey-timeline time{color:var(--muted);font-size:12px;font-weight:800}.patient-chart-flow,.patient-chart-header{gap:18px;display:grid}.patient-chart-toolbar-title{gap:10px;min-width:min(100%,920px);display:grid}.patient-chart-toolbar-title .patient-chart-tools{grid-template-columns:minmax(280px,1fr) minmax(240px,340px);max-width:920px}.patient-chart-title-search input{width:100%}.patient-chart-title-picker{justify-self:stretch;width:100%}.patient-chart-toolbar-title .chart-search-meta{text-align:left;grid-column:1/-1;justify-content:flex-start}.patient-chart-paired-blocks{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:18px;display:grid}.patient-chart-paired-blocks>.panel{min-width:0;height:100%}.patient-chart-header{grid-template-columns:1fr;align-content:start;align-items:stretch}.patient-chart-tools{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.patient-chart-search{width:100%}.chart-search-meta{color:var(--muted);text-align:right;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.patient-chart-search-meta{text-align:left;justify-content:flex-start}.chart-clear-search{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--teal);border-radius:8px;padding:0 10px;font-size:12px;font-weight:900}.chart-section-nav{flex-wrap:wrap;gap:8px;display:flex}.chart-section-nav a{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#f9fbfb;border-radius:8px;align-items:center;padding:0 10px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.chart-section-nav a:hover{background:var(--teal-soft);color:var(--teal);border-color:#99d8d0}.patient-chart-topline{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:center;gap:14px;display:grid}.patient-chart-paired-blocks .patient-chart-tools,.patient-chart-paired-blocks .patient-chart-topline,.patient-chart-paired-blocks .patient-admin-list{grid-template-columns:1fr}.patient-chart-paired-blocks .chart-search-meta{text-align:left;flex-direction:column;justify-content:flex-start;align-items:flex-start}.patient-chart-paired-blocks .patient-chart-picker{justify-self:stretch;width:100%}.patient-chart-paired-blocks .patient-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-chart-identity{align-items:center;gap:14px;min-width:0;display:flex}.patient-chart-avatar{background:var(--teal-soft);color:var(--teal);flex:none}.patient-chart-identity h2{font-size:24px}.patient-chart-meta,.patient-safety-strip,.chart-actions-panel{flex-wrap:wrap;gap:8px;display:flex}.patient-chart-meta{margin-top:8px}.patient-chart-meta span{color:var(--muted);font-size:12px;font-weight:800}.code-chip{background:var(--surface-muted);border:1px solid var(--line);color:var(--ink);overflow-wrap:anywhere;border-radius:999px;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}.patient-chart-picker{justify-self:end;width:min(100%,360px)}.patient-chart-stats{grid-column:1/-1;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;display:grid}.patient-chart-stats div{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;align-content:center;gap:4px;min-height:62px;padding:10px 12px;display:grid}.patient-chart-stats span,.chart-event-count,.chart-context-detail span{color:var(--muted);font-size:12px;font-weight:800}.patient-chart-stats strong{font-size:15px;display:block}.patient-safety-strip{grid-column:1/-1}.patient-admin-details{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-column:1/-1}.patient-admin-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:10px 12px;list-style:none;display:flex}.patient-admin-details summary::-webkit-details-marker{display:none}.patient-admin-details summary strong,.patient-admin-details summary span{display:block}.patient-admin-details summary span{color:var(--muted);overflow-wrap:anywhere;text-align:right;font-size:12px;font-weight:800}.patient-admin-details .patient-admin-list{border-top:1px solid var(--line);padding:10px}.patient-safety-strip span{background:var(--rose-soft);color:#be123c;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.patient-chart-layout{grid-template-columns:minmax(0,1fr) minmax(360px,430px);align-items:start;gap:18px;display:grid}.patient-chart-main,.patient-chart-side{gap:18px;min-width:0;display:grid}.patient-chart-side{max-height:calc(100vh - 136px);padding-right:2px;position:sticky;top:116px;overflow:auto}.chart-actions-panel{align-items:center}.chart-action-button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.chart-action-button:hover{background:var(--teal-soft);color:var(--teal);border-color:#99d8d0}.chart-filter-row{width:fit-content;max-width:100%;margin-bottom:14px;overflow-x:auto}.chart-filter-row button{white-space:nowrap}.chart-timeline{gap:10px}.journey-timeline .chart-timeline-event{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#f9fbfb;border-radius:8px;grid-template-columns:96px 14px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px;display:grid}.journey-timeline .chart-timeline-event:hover,.journey-timeline .chart-timeline-event:focus-visible,.journey-timeline .chart-timeline-event.active{background:#f0fdfa;border-color:#99d8d0}.journey-timeline .chart-timeline-event:focus-visible{outline-offset:2px;outline:3px solid #14b8a63d}.journey-timeline .chart-timeline-event time{color:var(--muted);padding-top:2px;font-size:12px;font-weight:900}.chart-timeline-event-body{align-content:start;justify-items:start;min-width:0;display:grid}.journey-timeline .chart-timeline-event strong,.chart-context-detail strong{margin-top:4px;display:block}.journey-timeline .chart-timeline-event span,.journey-timeline .chart-timeline-event small,.chart-context-detail p{color:var(--muted);font-size:12px}.journey-timeline .chart-timeline-event small{margin-top:4px;line-height:1.45;display:block}.chart-event-marker{background:var(--muted);border-radius:999px;width:12px;height:12px;margin-top:3px;box-shadow:0 0 0 4px #eef4f3}.chart-event-marker.session{background:var(--teal)}.chart-event-marker.clinical{background:var(--blue)}.chart-event-marker.treatment{background:var(--violet)}.chart-event-marker.billing{background:var(--amber)}.chart-event-marker.files{background:var(--green)}.chart-context-detail{gap:10px;display:grid}.chart-context-detail-inline{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;margin-bottom:14px;padding:12px}.chart-context-detail p{margin:0;line-height:1.55}.journey-detail-list.compact{gap:8px}.patient-admin-list{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-chart-side .odontogram-workbench,.patient-chart-side .vitals-grid,.patient-chart-side .treatment-form{grid-template-columns:1fr}.patient-chart-side .odontogram-workbench>div:first-child,.patient-chart-side .treatment-form .treatment-wide{grid-column:auto}.patient-chart-side .treatment-form{margin-top:14px}.patient-chart-side textarea{min-height:92px}.clinical-intake-form,.journey-treatment-notes,.odontogram-workbench,.timeline-comment-form{gap:12px;display:grid}.clinical-intake-form{margin-bottom:14px}.clinical-intake-form label,.journey-treatment-notes label,.odontogram-planner label,.timeline-comment-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.clinical-intake-form textarea,.clinical-intake-form input,.journey-treatment-notes textarea,.odontogram-planner input,.odontogram-planner select,.timeline-comment-form input,.timeline-comment-form select,.timeline-comment-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:8px;padding:10px}.clinical-intake-form textarea,.journey-treatment-notes textarea,.timeline-comment-form textarea{resize:vertical;min-height:88px}.journey-treatment-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-treatment-notes textarea{min-height:150px}.patient-file-governance-form{grid-template-columns:minmax(140px,1fr) minmax(130px,.8fr) auto;align-items:end;gap:10px;margin-top:10px;display:grid}.patient-file-governance-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.patient-file-governance-form input,.patient-file-governance-form select{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;min-height:38px;padding:0 10px}.vitals-grid,.odontogram-workbench{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.odontogram-workbench{align-items:start}.odontogram-workbench>div:first-child{grid-column:span 2}.odontogram-planner{gap:12px;display:grid}.arch-target-row{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.arch-target{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);border-radius:8px;padding:0 12px;font-size:12px;font-weight:900}.arch-target.active{background:var(--amber-soft);color:#92400e;border-color:#f59e0b}.odontogram-grid{gap:4px;margin-top:6px;display:grid;overflow-x:auto}.odontogram-row{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;min-width:820px;padding:4px 10px}.odontogram-visual-layer{min-width:800px;position:relative}.odontogram-hitgrid{pointer-events:none;grid-template-rows:repeat(2,minmax(0,1fr));display:grid;position:absolute;inset:0}.odontogram-hitrow{pointer-events:none;grid-template-columns:repeat(16,minmax(0,1fr));display:grid}.odontogram-hitbox{color:#0000;cursor:pointer;pointer-events:auto;background:0 0;border:1px solid #0000;border-radius:6px;min-width:0;min-height:0;padding:0}.odontogram-hitbox span{background:#ffffffdb;border-radius:999px;justify-content:center;align-items:center;min-width:28px;min-height:20px;font-size:10px;font-weight:900;display:inline-flex}.odontogram-hitbox:hover,.odontogram-hitbox:focus-visible{color:#92400e;background:#f59e0b1c;border-color:#f59e0bbf;outline:none}.odontogram-hitbox.active{color:#92400e;background:#f59e0b33;border-color:#f59e0b}.selected-teeth-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.selected-teeth-row span{background:var(--amber-soft);color:#92400e;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.journey-service-table{gap:8px;max-width:100%;padding-bottom:4px;display:grid;overflow-x:auto}.journey-service-row{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;grid-template-columns:minmax(136px,.9fr) minmax(92px,.8fr) minmax(180px,1.3fr) minmax(180px,1.3fr) minmax(150px,.9fr) minmax(120px,.8fr) minmax(110px,.8fr) minmax(120px,.8fr) minmax(150px,1fr);align-items:center;gap:10px;min-width:1330px;padding:10px;display:grid}.journey-service-row.with-actions{grid-template-columns:minmax(136px,.9fr) minmax(92px,.8fr) minmax(180px,1.3fr) minmax(180px,1.3fr) minmax(150px,.9fr) minmax(120px,.8fr) minmax(110px,.8fr) minmax(120px,.8fr) minmax(150px,1fr) minmax(52px,.35fr);min-width:1390px}.journey-service-row.head{background:var(--surface);color:var(--muted);font-size:12px;font-weight:800}.journey-service-row input,.journey-service-row select{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);border-radius:8px;padding:0 10px}.journey-service-paid{color:var(--muted);font-size:12px}.journey-service-paid strong,.journey-service-paid small{display:block}.journey-service-paid strong{color:var(--ink);font-size:13px}.journey-service-invoice-request{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:800;display:inline-flex}.journey-service-invoice-request input{min-height:auto}.journey-service-progress{grid-column:1/-1;gap:6px;margin-top:2px;display:grid}.journey-service-progress-meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;font-weight:800;display:flex}.journey-service-progress-meta strong{color:var(--ink);font-size:12px}.journey-service-progress-track{background:#e2e8f0;border-radius:999px;height:8px;display:block;overflow:hidden}.journey-service-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#0f766e,#22c55e);height:100%;display:block}.journey-service-progress.cancelled .journey-service-progress-fill{background:#fb7185}.journey-service-name{gap:3px;min-width:0;display:grid}.journey-service-name small{color:var(--muted);font-size:11px;line-height:1.35}.service-progress-cell,.service-progress-cell select,.journey-service-input-cell,.journey-service-input-cell input{width:100%}.service-progress-cell select,.journey-service-input-cell input{min-width:0}.journey-service-discount-form{width:100%;display:block}.journey-service-discount-form input[type=text]{width:100%;min-width:0}.journey-service-action-cell,.journey-service-action-cell form{justify-content:center;align-items:center;display:flex}.journey-service-action-cell .icon-button:disabled{cursor:not-allowed;opacity:.45}.progress-modal-backdrop{z-index:45;background:#0f172a94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.progress-modal{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:16px;width:min(560px,96vw);max-height:92vh;padding:18px;display:grid;overflow-y:auto;box-shadow:0 24px 70px #0f172a3d}.service-modal{width:min(760px,96vw)}.service-config-modal{width:min(960px,96vw)}.schedule-create-modal,.patient-create-modal,.pharmacy-modal{width:min(880px,96vw)}.modal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-modal-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.progress-modal-header span{color:var(--muted);font-size:12px;font-weight:800}.progress-modal-header h3{margin:4px 0 0;font-size:18px;line-height:1.25}.progress-modal-grid{gap:12px;display:grid}.progress-modal-grid label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.progress-modal-grid select,.progress-modal-grid input,.progress-modal-grid textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:8px}.progress-modal-grid select,.progress-modal-grid input{min-height:40px;padding:0 10px}.service-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-modal-grid textarea{resize:vertical;min-height:92px;padding:10px}.progress-modal-note,.progress-modal-grid .clinical-wide{grid-column:1/-1}.progress-modal-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.progress-modal-actions .booking-readiness{max-width:340px;margin-right:auto}.service-management-grid{align-items:start}.learning-metric-grid{grid-template-columns:repeat(5,minmax(140px,1fr))}.learning-course-panel{gap:14px;display:grid}.learning-course-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.learning-course-card{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:12px;padding:14px;display:grid}.learning-course-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.learning-course-head,.learning-course-meta,.learning-enrollment-strip{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.learning-course-head div{gap:3px;min-width:0;display:grid}.learning-course-head span,.learning-course-head small,.learning-course-meta,.learning-empty-inline{color:var(--muted);font-size:12px;font-weight:800}.learning-course-head strong{color:var(--ink);font-size:16px;line-height:1.3}.learning-course-meta{flex-wrap:wrap;align-items:center}.learning-resource-list,.learning-resource-form{gap:8px;display:grid}.learning-resource-row{border:1px solid var(--line);color:var(--ink);border-radius:8px;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;min-height:40px;padding:8px 10px;text-decoration:none;display:grid}.learning-resource-row span{background:var(--blue-soft);color:var(--blue);text-align:center;border-radius:999px;min-height:24px;padding:5px 8px;font-size:11px;font-weight:900}.learning-resource-row strong{overflow-wrap:anywhere;font-size:13px}.learning-enrollment-strip{flex-wrap:wrap;justify-content:flex-start}.learning-enrollment-strip span{border:1px solid var(--line);color:var(--muted);border-radius:999px;min-height:24px;padding:5px 8px;font-size:11px;font-weight:900}.learning-course-modal,.learning-assign-modal{width:min(880px,96vw)}.learning-resource-form{border:1px solid var(--line);border-radius:8px;padding:12px}.learning-resource-form>strong{color:var(--ink);font-size:13px}.learning-resource-input-row{grid-template-columns:150px minmax(160px,.8fr) minmax(220px,1.2fr);gap:10px;display:grid}.learning-resource-input-row label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.learning-resource-input-row select,.learning-resource-input-row input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;min-height:40px;padding:0 10px}.learning-file-upload small{color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}.learning-file-upload input[type=file]{align-items:center;min-height:46px;padding:10px;display:flex}.inventory-metric-grid{grid-template-columns:repeat(8,minmax(112px,1fr))}.inventory-alert-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.inventory-main-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.inventory-inline-forms{display:none!important}.inventory-compact-list,.inventory-category-list,.inventory-item-table,.inventory-equipment-grid,.inventory-settings-list{gap:10px;display:grid}.inventory-alert-row{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:3px;padding:10px;display:grid}.inventory-alert-row.warning{background:#fff7ed;border-color:#fed7aa}.inventory-alert-row.maintenance{background:#eef6ff;border-color:#bfdbfe}.inventory-alert-row strong,.inventory-alert-row span,.inventory-alert-row small{overflow-wrap:anywhere;min-width:0}.inventory-alert-row span,.inventory-alert-row small{color:var(--muted);font-size:12px}.inventory-collapsible-header{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;display:flex}.inventory-collapsible-header .panel-header{flex:1;min-width:0;margin-bottom:0}.inventory-collapsible-header:hover .panel-header strong,.inventory-category-toggle:hover strong{color:var(--blue)}.inventory-collapsible-header+.inventory-compact-list,.inventory-collapsible-header+.inventory-category-list{margin-top:12px}.inventory-category-card,.inventory-equipment-card,.inventory-settings-card{border:1px solid var(--line);background:#f8fbfa;border-radius:8px;gap:10px;padding:12px;display:grid}.inventory-category-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.inventory-category-toggle{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0}.inventory-category-head div{gap:3px;min-width:0;display:grid}.inventory-category-head small{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:750;line-height:1.35}.inventory-category-head span{background:var(--blue-soft);color:var(--blue);text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-width:28px;padding:5px 8px;font-size:12px;font-weight:900;display:inline-flex}.inventory-group-summary{flex-wrap:wrap;gap:6px;display:flex}.inventory-group-summary span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:850}.inventory-item-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 100px 110px 118px;align-items:center;gap:10px;min-height:42px;padding-top:8px;display:grid}.inventory-item-row.low{color:#b45309}.inventory-item-row div{gap:2px;min-width:0;display:grid}.inventory-item-row span,.inventory-item-row small,.inventory-equipment-card span,.inventory-equipment-card small{color:var(--muted);font-size:12px}.inventory-item-row strong,.inventory-item-row span{overflow-wrap:anywhere}.inventory-equipment-card{grid-template-columns:minmax(0,1fr) auto 118px;align-items:start}.inventory-equipment-card>small{grid-column:1/-1}.inventory-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-settings-card{justify-content:space-between;align-items:center;display:flex}.inventory-settings-card>div{gap:3px;min-width:0;display:grid}.inventory-settings-card strong{overflow-wrap:anywhere;align-items:center;gap:7px;min-width:0;display:inline-flex}.inventory-settings-card small{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.inventory-tag-dot{border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}.inventory-tag-picker{border:1px solid var(--line);border-radius:8px;gap:8px;padding:10px;display:grid}.inventory-tag-picker>span{color:var(--muted);font-size:11px;font-weight:900}.inventory-tag-picker>div{flex-wrap:wrap;gap:8px;display:flex}.inventory-tag-picker label{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:4px 9px;font-size:12px;font-weight:850;display:inline-flex}.inventory-edit-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.inventory-edit-button:disabled{color:var(--muted);background:#eef2f4}.inventory-modal{width:min(900px,96vw)}.crm-modal{width:min(860px,96vw)}.service-action-row{justify-content:flex-start;gap:10px;display:flex}.service-catalog-toolbar{grid-template-columns:minmax(240px,1fr) minmax(180px,260px);align-items:end;gap:10px;display:grid}.service-catalog-toolbar label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.service-catalog-toolbar input,.service-catalog-toolbar select{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;min-height:40px;padding:0 12px}.service-section-tabs,.inventory-section-tabs,.crm-section-tabs,.forms-section-tabs,.learning-section-tabs,.accounting-section-tabs,.service-config-tabs{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.service-section-tabs button,.inventory-section-tabs button,.crm-section-tabs button,.forms-section-tabs button,.learning-section-tabs button,.accounting-section-tabs button,.service-config-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;min-height:34px;padding:0 12px;font-size:13px;font-weight:900}.service-section-tabs button.active,.inventory-section-tabs button.active,.crm-section-tabs button.active,.forms-section-tabs button.active,.learning-section-tabs button.active,.accounting-section-tabs button.active,.service-config-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #0f172a14}.inventory-section-tabs button,.crm-section-tabs button,.forms-section-tabs button,.learning-section-tabs button,.accounting-section-tabs button{align-items:center;gap:8px;display:inline-flex}.inventory-section-tabs button span,.crm-section-tabs button span,.forms-section-tabs button span,.learning-section-tabs button span,.accounting-section-tabs button span{color:#334155;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;min-width:24px;padding:2px 7px;font-size:11px;font-weight:900;display:inline-flex}.inventory-section-tabs button.active span,.crm-section-tabs button.active span,.forms-section-tabs button.active span,.learning-section-tabs button.active span,.accounting-section-tabs button.active span{background:var(--blue-soft);color:var(--blue)}.service-config-tabs{margin-bottom:2px}.service-policy-actions{align-items:center;gap:8px;display:flex}.service-policy-warning{align-items:flex-start;gap:3px;display:grid}.service-policy-warning span{color:var(--muted);font-size:12px;line-height:1.45}.service-catalog-list,.payroll-accrual-list{gap:12px;display:grid}.service-catalog-card,.payroll-accrual-card{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;gap:12px;padding:14px;display:grid}.service-library-card{gap:0}.service-catalog-head,.payroll-accrual-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.service-catalog-head strong,.service-catalog-head small,.payroll-accrual-card strong,.payroll-accrual-card small{display:block}.service-catalog-head small,.payroll-accrual-card small,.payroll-line-list{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.service-edit-form{grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;display:grid}.service-edit-form label,.service-step-edit-form,.service-step-form{color:var(--muted);gap:6px;font-size:12px;display:grid}.service-edit-form input,.service-edit-form select,.service-step-edit-form input,.service-step-edit-form button,.service-step-form input,.service-step-form button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;min-height:38px;padding:0 10px}.service-edit-form button,.service-step-edit-form button,.service-step-form button{align-self:end;font-weight:800}.service-danger-form{justify-content:flex-end;margin-top:10px;display:flex}.service-danger-form .danger-button{align-items:center;gap:8px;display:inline-flex}.service-step-edit-list{gap:8px;display:grid}.service-step-edit-form{grid-template-columns:36px minmax(180px,1fr) minmax(240px,1.2fr) 110px 110px auto;align-items:center}.service-step-edit-form span{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;font-weight:800;display:inline-flex}.service-steps,.payroll-line-list{flex-wrap:wrap;gap:6px;display:flex}.service-steps span,.payroll-line-list span{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 9px}.service-step-form{grid-template-columns:repeat(6,minmax(120px,1fr));align-items:end}.service-step-form select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;min-height:38px;padding:0 10px}.payroll-accrual-card{grid-template-columns:minmax(0,1fr) auto auto}.billing-subtitle{color:var(--muted);max-width:760px;margin:6px 0 0;font-size:13px;line-height:1.45}.billing-search-meta{text-align:left;justify-content:flex-start}.billing-operational-filters{grid-template-columns:minmax(160px,220px) minmax(160px,220px) minmax(180px,240px) minmax(180px,1fr);align-items:end;gap:12px;display:grid}.billing-operational-filters label{color:var(--muted);gap:6px;font-size:12px;font-weight:900;display:grid}.billing-operational-filters select{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:8px;padding:0 10px}.billing-operational-filters span{color:var(--muted);padding-bottom:10px;font-size:12px;font-weight:900}.billing-rule-note{margin:0}.billing-metric-scope{color:var(--muted);text-transform:uppercase;margin:-8px 0 0;font-size:12px;font-weight:900}.billing-panel-note{color:var(--muted);margin:-4px 0 14px;font-size:13px;font-weight:700}.billing-admin-details{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:0}.billing-admin-details summary{color:var(--ink);cursor:pointer;padding:16px 18px;font-size:14px;font-weight:950;list-style:none}.billing-admin-details summary::-webkit-details-marker{display:none}.billing-admin-details summary:after{color:var(--muted);content:"+";float:right;font-weight:950}.billing-admin-details[open] summary{border-bottom:1px solid var(--line)}.billing-admin-details[open] summary:after{content:"-"}.billing-admin-details>.content-grid,.billing-manual-details-body{padding:14px}.billing-admin-details:not([open])>.content-grid,.billing-admin-details:not([open])>.billing-manual-details-body{display:none}.billing-admin-action-label{color:var(--muted);font-size:12px;font-weight:900}.billing-service-filters{flex-wrap:wrap;width:fit-content;max-width:100%;margin-bottom:12px}.billing-service-filters button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.billing-service-filters span{background:var(--surface-muted);color:var(--muted);border-radius:999px;min-width:22px;padding:2px 6px;font-size:11px;font-weight:900}.billing-service-filters button.active span{color:#fff;background:#ffffff24}.journey-billing-list{gap:10px;display:grid}.journey-billing-item{border:1px solid var(--line);border-radius:8px;gap:9px;padding:12px;display:grid}.journey-billing-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.journey-billing-head>div:first-child{min-width:0}.journey-billing-head strong{overflow-wrap:anywhere;display:block}.journey-billing-head span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.billing-service-badges{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.billing-service-state{text-transform:uppercase;border-radius:999px;min-height:24px;padding:4px 8px;font-size:11px;font-weight:900;display:inline-flex}.billing-service-state.action{background:var(--amber-soft);color:#92400e}.billing-service-state.waiting{background:var(--blue-soft);color:var(--blue)}.billing-service-state.settled{background:var(--green-soft);color:var(--green)}.billing-service-state.cancelled{background:var(--rose-soft);color:var(--rose)}.journey-billing-stats{grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;display:grid}.journey-billing-stats span{border:1px solid var(--line);background:#f8fbfb;border-radius:8px;min-width:0;padding:8px 10px}.journey-billing-stats small,.journey-billing-stats strong{display:block}.journey-billing-stats small{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:900}.journey-billing-stats strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px}.billing-service-progress{align-items:center;gap:6px;display:grid}.billing-service-invoice-list{flex-wrap:wrap;gap:8px;display:flex}.billing-service-invoice-list span{background:var(--surface-muted);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.billing-service-invoice-list strong{color:var(--ink)}.billing-service-progress span{background:var(--surface-muted);border-radius:999px;height:8px;display:block;overflow:hidden}.billing-service-progress i{border-radius:inherit;background:linear-gradient(90deg,#0f766e,#16a34a);height:100%;display:block}.billing-service-progress small{color:var(--muted);font-size:12px;font-weight:800}.journey-billing-controls{grid-template-columns:minmax(150px,190px) minmax(150px,190px) auto minmax(150px,auto) auto;align-items:center;gap:10px;display:grid}.journey-billing-controls input,.journey-billing-controls select,.journey-billing-controls .secondary-button{min-height:36px}.journey-billing-controls input,.journey-billing-controls select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;width:100%;padding:0 10px}.billing-manual-panel{background:#fbfcfd}.timeline-comment-form{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.timeline-image,.timeline-image-preview,.timeline-video-preview{border:1px solid var(--line);object-fit:cover;border-radius:8px;max-width:min(220px,100%);max-height:140px;margin-top:10px;display:block}.timeline-video-preview{background:#0f172a;width:min(360px,100%)}.timeline-image-button{cursor:zoom-in;text-align:left;background:0 0;border:0;width:fit-content;max-width:100%;padding:0}.timeline-image-button:focus-visible{outline-offset:3px;outline:3px solid #14b8a647}.timeline-image-button.preview{display:block}.timeline-file-link{width:fit-content;margin-top:8px;text-decoration:none}.timeline-file-link span{gap:2px;min-width:0;display:grid}.timeline-file-link small{color:var(--muted);font-size:11px;font-weight:800}.timeline-attachment-list{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;width:100%;margin-top:8px;display:flex}.timeline-attachment-list.compact .timeline-image{max-width:92px;max-height:68px;margin-top:0}.timeline-attachment-list.compact .timeline-video-preview{max-width:160px;max-height:90px;margin-top:0}.timeline-attachment-list.compact{align-items:flex-start}.timeline-attachment-list.compact .timeline-file-link{margin-top:0}.timeline-file-preview{border:1px solid var(--line);background:var(--surface-muted);max-width:260px;min-height:34px;color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.image-lightbox{z-index:40;background:#0f172ab8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.image-lightbox-panel{background:var(--surface);border-radius:8px;gap:10px;max-width:min(960px,96vw);max-height:92vh;padding:12px;display:grid;position:relative;box-shadow:0 24px 60px #0f172a47}.image-lightbox-panel img{object-fit:contain;border-radius:6px;max-width:100%;max-height:78vh}.image-lightbox-panel span{color:var(--muted);font-size:12px;font-weight:800}.image-lightbox-close{background:#fffffff0;position:absolute;top:10px;right:10px;box-shadow:0 8px 20px #0f172a2e}.chart-header{justify-content:space-between;gap:12px;margin:18px 0 10px;display:flex}.chart-header span{color:var(--muted);font-size:13px}.nhavista-odontogram{--odontogram-tooltip-bg:#0f172a;--odontogram-tooltip-fg:#fff;width:100%;min-height:92px}.nhavista-odontogram svg{width:100%;height:auto;max-height:126px;display:block}.react-odontogram-grid.compact .nhavista-odontogram svg{max-height:110px}.clinical-card{gap:12px;display:grid}.clinical-notes{gap:12px;margin-top:14px;display:grid}.clinical-note{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:12px;padding:12px;display:grid}.clinical-note-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.soap-block{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:10px}.soap-block span{color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:900;display:block}.soap-block p{color:var(--ink);margin:0;font-size:13px;line-height:1.45}.note-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.note-footer button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--ink);border-radius:7px;padding:0 10px;font-size:12px;font-weight:900}.avatar-row{align-items:center;gap:12px;display:flex}.avatar{background:var(--blue-soft);width:48px;height:48px;color:var(--blue);border-radius:8px;place-items:center;font-weight:900;display:grid}.avatar-row strong,.avatar-row span{display:block}.avatar-row span{color:var(--muted);font-size:13px}textarea{resize:vertical;border:1px solid var(--line);min-height:180px;color:var(--ink);background:#f9fbfb;border-radius:8px;padding:12px;line-height:1.45}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.plan-grid,.community-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.plan-card,.community-card{gap:12px;display:grid}.plan-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.plan-head span,.plan-head strong{display:block}.plan-head span{color:var(--muted);font-size:12px;font-weight:800}.task-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.task-list li{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.invoice-row{grid-template-columns:minmax(0,1fr) 120px 150px auto minmax(220px,1fr)}.billing-invoice-row{grid-template-columns:minmax(170px,1.15fr) minmax(108px,.65fr) minmax(116px,.7fr) minmax(116px,.7fr) minmax(116px,.7fr) auto minmax(250px,1.2fr)}.billing-invoice-cell span,.billing-invoice-cell strong{display:block}.billing-invoice-cell span{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:11px;font-weight:900}.billing-invoice-cell strong{color:var(--ink);font-size:13px}.billing-credit-note{color:var(--violet);margin-top:3px;font-size:11px;font-weight:900;display:block}.invoice-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.invoice-actions form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.invoice-actions input,.invoice-actions select{border:1px solid var(--line);background:var(--surface);border-radius:7px;max-width:104px;min-height:30px;padding:0 8px;font-size:12px}.invoice-actions a,.invoice-actions button{border:1px solid var(--line);background:var(--surface);min-height:30px;color:var(--ink);border-radius:7px;padding:0 9px;font-size:12px;font-weight:900}.invoice-actions a{align-items:center;gap:4px;text-decoration:none;display:inline-flex}.invoice-actions .danger-link{background:var(--rose-soft);color:#be123c;border-color:#fecdd3}.invoice-local-note{border:1px solid var(--line);color:var(--muted);border-radius:7px;align-items:center;min-height:30px;padding:0 9px;font-size:12px;font-weight:900;display:inline-flex}.bar-chart{gap:14px;display:grid}.bar-row{grid-template-columns:minmax(120px,180px) minmax(120px,1fr) 150px;align-items:center;gap:12px;display:grid}.bar-row span,.bar-row strong{font-size:13px}.report-row span strong,.report-row span small{display:block}.report-row span small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:800}.report-table{gap:8px;display:grid}.report-table-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(160px,1.2fr) repeat(5,minmax(110px,1fr));align-items:center;gap:10px;min-height:44px;padding:9px 10px;display:grid}.report-table-row strong,.report-table-row span{font-size:12px}.report-table-row span{color:var(--muted);font-weight:800}.toolbar-subtitle{color:var(--muted);margin-top:4px;font-size:13px;font-weight:800;display:block}.reports-summary-grid{grid-template-columns:repeat(6,minmax(130px,1fr))}.reports-filter-bar{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:end;gap:10px;padding:12px;display:flex}.reports-filter-bar label{color:var(--muted);text-transform:uppercase;flex:180px;gap:6px;font-size:12px;font-weight:800;display:grid}.reports-filter-bar input,.reports-filter-bar select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;min-height:38px;padding:8px 10px}.report-trend,.report-aging-list,.report-service-list{gap:10px;display:grid}.report-trend-row,.report-aging-row,.report-service-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(72px,.4fr) minmax(140px,1fr) minmax(92px,.45fr);align-items:center;gap:12px;min-height:48px;padding:9px 10px;display:grid}.report-service-row{grid-template-columns:minmax(150px,.8fr) minmax(140px,1fr) minmax(132px,.55fr)}.report-drilldown-row{color:inherit;cursor:pointer;font:inherit;text-align:left;width:100%}.report-drilldown-row:hover,.report-drilldown-row:focus-visible{border-color:#2563eb;outline:none}.report-drilldown-modal{width:min(720px,96vw)}.report-trend-row span,.report-aging-row span,.report-service-row span,.report-trend-row strong,.report-aging-row strong,.report-service-row strong{font-size:12px;display:block}.report-aging-row small,.report-service-row small,.report-service-row strong small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:800;display:block}.report-trend-row>div,.report-aging-row>div,.report-service-row>div{background:#eef3f6;border-radius:999px;gap:4px;padding:4px;display:grid}.report-trend-row i,.report-aging-row i,.report-service-row i{border-radius:999px;height:7px;display:block}.report-trend-row i.production,.report-service-row i{background:var(--violet)}.report-trend-row i.collection,.report-aging-row i{background:var(--green)}.dashboard-command-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(220px,1.3fr) minmax(160px,.7fr) repeat(4,minmax(130px,1fr));align-items:stretch;gap:12px;padding:16px;display:grid}.dashboard-command-copy h2,.dashboard-command-copy p{margin:0}.dashboard-command-copy span,.dashboard-command-status span{color:var(--muted);margin-top:6px;font-size:13px;font-weight:800;line-height:1.4;display:block}.dashboard-command-status{flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;display:flex}.dashboard-command-panel .metric-card{box-shadow:none;min-height:96px;padding:12px}.dashboard-flow{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:8px;display:grid}.dashboard-flow-step{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:6px;min-height:72px;padding:10px;display:grid;position:relative}.dashboard-flow-step span{color:var(--muted);font-size:12px;font-weight:900}.dashboard-flow-step strong{font-size:24px}.task-inbox-form{margin-bottom:12px}.dashboard-inbox-subhead{color:var(--ink);margin:4px 0 8px;font-size:13px;font-weight:900}.dashboard-notification-form{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;max-height:none;margin-bottom:12px;padding:12px;overflow:visible}.task-inbox-row{grid-template-columns:minmax(240px,1fr) 92px auto}.task-action-button{justify-content:center}.dashboard-clinic-grid,.dashboard-risk-grid,.dashboard-provider-list{gap:10px;display:grid}.dashboard-clinic-card,.dashboard-risk-card,.dashboard-provider-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:10px;padding:12px;display:grid}.dashboard-risk-card{color:var(--ink);text-decoration:none}.dashboard-clinic-card strong,.dashboard-provider-row strong,.dashboard-risk-card strong,.dashboard-risk-card span,.dashboard-risk-card small{display:block}.dashboard-clinic-card span,.dashboard-clinic-stats,.dashboard-provider-row span,.dashboard-risk-card small{color:var(--muted);font-size:12px;font-weight:800}.dashboard-clinic-stats{flex-wrap:wrap;gap:8px;display:flex}.dashboard-provider-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.community-card p{color:var(--muted);margin:0;line-height:1.45}.community-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:12px;font-weight:800;display:flex}.danger-icon{background:var(--rose-soft);color:#be123c}.comment-list{border-top:1px solid var(--line);gap:8px;padding-top:10px;display:grid}.comment-row{background:#f6f9fa;border-radius:8px;gap:3px;padding:9px;display:grid}.comment-row strong{color:var(--ink);font-size:13px}.comment-row span{color:var(--muted);font-size:11px;font-weight:800}.comment-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.comment-form input{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:8px;padding:0 10px}.comment-form button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);border-radius:8px;padding:0 12px;font-weight:900}.phone-frame{width:min(100%,340px);min-height:620px;box-shadow:var(--shadow);background:#f8fbfb;border:10px solid #15242b;border-radius:28px;align-content:start;gap:14px;margin:0 auto;padding:18px;display:grid}.phone-top{color:var(--teal);justify-content:space-between;align-items:center;font-weight:900;display:flex}.phone-brand{align-items:center;gap:8px;min-width:0;display:inline-flex}.phone-brand img{border-radius:6px;flex:none;width:24px;height:24px;display:block}.phone-brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.phone-frame p{color:var(--muted);margin:0;line-height:1.45}.mobile-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mobile-actions button{background:var(--ink);color:#fff;border:0;border-radius:8px;min-height:42px;font-weight:800}.mobile-actions form{min-width:0}.mobile-actions button{width:100%}.mobile-actions button:disabled,.mobile-card button:disabled{cursor:not-allowed;opacity:.55}.mobile-card{background:var(--teal-soft);border-radius:8px;gap:4px;padding:14px;display:grid}.mobile-card span,.mobile-card small{color:var(--teal);font-weight:800}.mobile-card form{margin-top:8px}.employee-income-card{background:#eef7ff;border:1px solid #bfdbfe;gap:10px}.employee-income-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.employee-income-card-header>span,.employee-income-card>span{color:var(--blue)}.employee-income-card-header .compact-button{min-height:32px;padding:6px 10px}.employee-income-row{border-top:1px solid #2563eb29;justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.employee-income-row small{color:var(--muted);font-weight:800}.employee-income-row strong{color:var(--ink);text-align:right;white-space:nowrap;font-size:15px}.employee-income-row.total strong{color:var(--green);font-size:18px}.employee-formula-modal,.employee-leave-modal{max-width:560px}.employee-formula-list{gap:10px;display:grid}.employee-formula-list>div{border:1px solid var(--line);border-radius:8px;gap:4px;padding:12px;display:grid}.employee-formula-list span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.employee-formula-list strong{color:var(--ink);font-size:14px;line-height:1.45}.portal-data-list{gap:8px;margin-top:14px;display:grid}.portal-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(120px,.9fr) minmax(0,1.2fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.portal-row span{color:var(--muted);font-size:12px;font-weight:800}.accounting-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.accounting-entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.accounting-entry-modal{width:min(860px,96vw)}.accounting-entry-modal-grid .patient-wide{grid-column:1/-1}.accounting-period-form,.accounting-ledger-filters{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.accounting-period-form label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:12px;font-weight:700;display:grid}.accounting-period-form input,.accounting-ledger-filters input,.accounting-ledger-filters select{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;min-height:38px;padding:8px 10px}.accounting-ledger-filters{margin-bottom:12px}.accounting-ledger-filters input{flex:220px}.accounting-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.accounting-ai-open-button{min-height:38px}.accounting-ai-modal{width:min(760px,96vw)}.accounting-ai-tabs{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.accounting-ai-tabs button{color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;min-height:34px;font-size:13px;font-weight:800}.accounting-ai-tabs button.active{color:var(--text);background:#fff;box-shadow:0 1px 4px #0f172a14}.accounting-ai-action{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.accounting-ai-action span{color:var(--muted);font-size:12px;font-weight:700}.accounting-ai-chat-form{gap:10px;display:grid}.accounting-ai-chat-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.accounting-ai-chat-form textarea{border:1px solid var(--line);color:var(--text);font:inherit;resize:vertical;background:#fff;border-radius:8px;min-height:112px;padding:10px;line-height:1.45}.accounting-ai-result{gap:14px;display:grid}.accounting-ai-result>p{color:var(--text);margin:0;font-size:14px;line-height:1.55}.accounting-ai-result>div{gap:8px;display:grid}.accounting-ai-result ul{color:var(--muted);gap:6px;margin:0;padding-left:18px;display:grid}.accounting-ai-item{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;padding:10px;display:grid}.accounting-ai-item div{gap:4px;min-width:0;display:grid}.accounting-ai-item span,.accounting-ai-item small{color:var(--muted);overflow-wrap:anywhere}.accounting-attachment-link{color:var(--accent);align-items:center;gap:8px;margin-top:8px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.accounting-attachment-link img{border:1px solid var(--line);object-fit:cover;border-radius:6px;width:42px;height:42px}.accounting-pnl-list,.accounting-budget-list{gap:10px;display:grid}.accounting-budget-summary{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.accounting-budget-summary p{color:var(--muted);max-width:420px;margin:0;font-size:13px;line-height:1.45}.accounting-budget-summary-list{gap:8px;display:grid}.accounting-budget-summary-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.accounting-budget-summary-row strong,.accounting-budget-summary-row small{display:block}.accounting-budget-summary-row small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.accounting-pnl-row,.accounting-budget-row{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;align-items:center;gap:10px;padding:10px;display:grid}.accounting-pnl-row{grid-template-columns:minmax(0,1fr) auto auto}.accounting-pnl-row strong,.accounting-pnl-row small,.accounting-budget-row strong,.accounting-budget-row small{display:block}.accounting-pnl-row small,.accounting-budget-row small,.accounting-entry-row small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45}.accounting-pnl-row>span{white-space:nowrap;font-weight:900}.accounting-budget-row{grid-template-columns:minmax(0,1fr) minmax(120px,160px) 82px 82px auto}.accounting-budget-row input,.accounting-budget-row select{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:8px;padding:0 10px}.accounting-budget-row button{border:1px solid var(--line);background:var(--ink);color:#fff;border-radius:8px;min-height:38px;padding:0 12px;font-weight:900}.accounting-budget-modal{width:min(980px,96vw)}.accounting-budget-modal-list{max-height:min(620px,70vh);padding-right:4px;overflow:auto}.accounting-warning{margin-top:12px}.mobile-app-view{gap:14px}.mobile-app-toolbar h2{max-width:760px}.mobile-app-grid>.panel:first-child{background:linear-gradient(180deg, #0f766e14, #fff0), var(--surface)}.mobile-app-view .phone-frame{width:min(100%,380px)}.mobile-app-view .staff-form.compact{grid-template-columns:1fr}.mobile-app-view .primary-button,.mobile-app-view .mobile-actions button,.mobile-app-view .mobile-card button,.mobile-app-view .staff-form button{min-height:44px}.compliance-list label{border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.compliance-list input{accent-color:var(--teal);margin-top:3px}.audit-box{gap:8px;margin-top:14px;display:grid}.audit-box span{color:var(--muted);font-size:13px}.empty-state{min-height:220px;color:var(--muted);border:1px dashed var(--line);border-radius:8px;place-items:center;display:grid}.login-shell{background:linear-gradient(180deg, #0f766e14, #2563eb0d), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--surface);border:1px solid var(--line);width:min(100%,440px);box-shadow:var(--shadow);border-radius:8px;gap:20px;padding:24px;display:grid}.login-brand{padding:0}.login-subtitle{color:var(--muted);margin-top:6px;font-size:13px;font-weight:800;display:block}.login-form{gap:14px;display:grid}.login-form label{color:var(--muted);gap:7px;font-size:13px;font-weight:800;display:grid}.login-form input{border:1px solid var(--line);min-height:44px;color:var(--ink);border-radius:8px;padding:0 12px}.login-error{color:#be123c;background:var(--rose-soft);border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.login-success{color:#047857;background:#ecfdf5;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;font-weight:800}.login-help{color:var(--muted);font-size:12px}.forgot-password-panel{border-top:1px solid var(--line);padding-top:12px}.forgot-password-panel summary{color:var(--blue);cursor:pointer;font-size:13px;font-weight:900}.forgot-password-panel .login-form{margin-top:12px}.error-shell{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.error-workspace{place-items:center;min-height:100vh;padding:24px;display:grid}.error-panel{background:var(--surface);border:1px solid var(--line);width:min(100%,520px);box-shadow:var(--shadow);border-radius:8px;gap:16px;padding:22px;display:grid}.error-mark{background:var(--rose-soft);color:#be123c;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.error-panel h1{margin:0;font-size:24px;line-height:1.2}.error-panel p{color:var(--muted);margin:8px 0 0;line-height:1.5}.demo-accounts{border-top:1px solid var(--line);color:var(--muted);gap:6px;padding-top:14px;font-size:12px;display:grid}.demo-accounts strong{color:var(--ink)}.empty-route{gap:12px;max-width:620px;margin:60px auto;display:grid}.empty-route p{color:var(--muted);margin:0}.print-shell{background:#edf2f4;min-height:100vh;padding:32px 20px}.print-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:920px;margin:0 auto 16px;display:flex}.print-actions .secondary-button{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.invoice-template{background:var(--surface);border:1px solid var(--line);max-width:920px;box-shadow:var(--shadow);border-radius:8px;margin:0 auto;padding:42px}.invoice-template-header{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:22px;display:flex}.invoice-template-header h1{margin:0 0 10px;font-size:34px;line-height:1}.invoice-brand{text-align:right}.invoice-brand img{border-radius:8px;width:44px;height:44px;margin:0 0 10px auto;display:block}.invoice-brand strong,.invoice-brand span{display:block}.invoice-brand strong{font-size:24px}.invoice-brand span{color:var(--muted);font-weight:800}.invoice-meta-grid,.invoice-total-band,.invoice-notes-grid,.invoice-signature-grid{gap:16px;display:grid}.invoice-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px}.invoice-meta-grid div,.invoice-notes-grid div{border:1px solid var(--line);background:#f9fbfb;border-radius:8px;padding:14px}.invoice-meta-grid span,.invoice-meta-grid small,.invoice-total-band span,.invoice-signature-grid span{color:var(--muted);font-size:12px;font-weight:800;display:block}.invoice-meta-grid strong,.invoice-total-band strong,.invoice-signature-grid strong{margin-top:4px;display:block}.invoice-total-band{background:#f8fafc;border:1px solid #cbd5e1;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0;padding:16px}.invoice-total-band strong{font-size:22px}.invoice-ledger{border:1px solid var(--line);border-radius:8px;margin-top:14px;overflow:hidden}.invoice-ledger-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:16px;min-height:46px;padding:0 14px;display:grid}.invoice-ledger-row:first-child{border-top:0}.invoice-ledger-row.head{background:var(--surface-muted);color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:900}.invoice-ledger-row strong{text-align:right}.invoice-ledger-row.muted{color:var(--muted)}.invoice-notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}.invoice-notes-grid p{color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.55}.invoice-signature-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:34px}.invoice-signature-grid div{border-top:1px solid var(--ink);min-height:82px;padding-top:10px}.app-shell{background:linear-gradient(90deg, #08766f09, transparent 34%), var(--bg);grid-template-columns:252px minmax(0,1fr)}.sidebar{background:var(--brand-canvas);border-right:1px solid var(--brand-line);color:var(--ink);scrollbar-width:thin;gap:18px;padding:18px 14px}.brand{background:var(--brand-canvas-strong);border:1px solid var(--brand-line);border-radius:var(--radius);padding:10px}.brand-mark{background:var(--brand-canvas);border:1px solid var(--brand-line);width:38px;height:38px;box-shadow:0 5px 14px #08758614}.brand strong{color:var(--ink);font-size:16px;line-height:1.1}.brand span{color:var(--teal-strong);background:#08758614;border:1px solid #08758624;border-radius:999px;margin-top:5px;padding:2px 7px;font-size:11px;font-weight:850;line-height:1.35;display:inline-block}.nav-list{gap:12px}.nav-group-title{color:#6d7c73;letter-spacing:0;padding-inline:10px;font-size:10px}.nav-item{color:#344d49;min-height:38px;padding:0 10px;position:relative}.nav-item:hover{color:var(--ink);background:#edf4ed}.nav-item.active{color:var(--teal-strong);background:#e3f2ee;border-color:#08758633;font-weight:850}.nav-item.active:before{background:var(--teal);content:"";border-radius:999px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-card{background:var(--brand-canvas-strong);border-color:var(--brand-line);color:var(--ink);padding:12px}.sidebar-card p{color:var(--muted);font-size:12px}.workspace{padding:18px 20px 28px}.topbar{z-index:40;background:#f3f6f8e6;border-bottom:1px solid #dbe4e8b8;margin:-18px -20px 18px;padding:16px 20px 14px;position:sticky;top:0}.topbar-main{align-items:flex-start}.eyebrow{color:var(--subtle);font-size:11px}h1{color:#101b22;font-size:clamp(23px,2vw,30px);line-height:1.12}h2{color:#15222a;font-size:18px}.topbar-actions,.toolbar,.topbar-controls{gap:8px}.search-field,.select-field,.context-badge,.user-chip,.segmented,.icon-button,.secondary-button,.primary-button,.danger-button,.ghost-button{border-radius:var(--radius)}.search-field,.select-field,.context-badge,.user-chip,.segmented,.icon-button,.secondary-button{border-color:var(--line);background:#ffffffeb;box-shadow:0 1px #14232d08}.search-field:focus-within,.select-field:focus-within,.patient-search-input:focus-within,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{box-shadow:var(--focus-ring);outline:0}.primary-button{background:var(--teal);box-shadow:0 8px 16px #08766f2e}.primary-button:hover{background:var(--teal-strong)}.secondary-button:hover,.icon-button:hover,.panel-action-link:hover{background:var(--surface-muted);border-color:var(--line-strong)}.danger-button,.primary-button.danger{background:var(--rose);color:#fff}.ghost-button{color:var(--muted);background:0 0;border:1px solid #0000}.segmented{background:#edf3f4;padding:3px}.segmented button{min-height:30px;font-size:12px;font-weight:850}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #14232d14}.view-stack,.content-grid{gap:14px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.metric-card,.panel,.surface-card,.table-row,.clinic-row,.timeline-item,.invoice-row,.permission-row,.patient-summary div,.record-tile,.audit-box,.schedule-column-head,.schedule-slot,.appointment-card,.journey-timeline .chart-timeline-event,.journey-billing-item,.service-catalog-card,.payroll-accrual-card,.inventory-category-card,.inventory-equipment-card,.inventory-settings-card,.pharmacy-template-card,.pharmacy-medication-card,.pharmacy-prescription-card,.staff-row,.dashboard-clinic-card,.dashboard-risk-card,.dashboard-provider-row,.mobile-card,.portal-row{background:var(--surface-raised);border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{border-left:0;border-top:3px solid var(--line-strong);min-height:92px;padding:13px 14px}.metric-card span{color:var(--muted);font-size:12px;line-height:1.35}.metric-card strong{font-size:clamp(19px,1.8vw,25px)}.metric-card.blue{border-top-color:var(--blue)}.metric-card.teal{border-top-color:var(--teal)}.metric-card.violet{border-top-color:var(--violet)}.metric-card.green{border-top-color:var(--green)}.metric-card.amber{border-top-color:var(--amber)}.metric-card.rose{border-top-color:var(--rose)}.panel{padding:14px}.panel-header{border-bottom:1px solid var(--line);margin:-2px 0 12px;padding-bottom:10px}.panel-header strong{color:var(--ink);font-size:14px}.panel-header-action,.panel-action-link,.compact-button{min-height:32px}.table-row,.clinic-row,.timeline-item,.invoice-row,.permission-row{transition:background-color .14s,border-color .14s,box-shadow .14s,transform .14s}.table-row:hover,.clinic-row:hover,.timeline-item:hover,.invoice-row:hover,.permission-row:hover,.journey-timeline .chart-timeline-event:hover{border-color:var(--line-strong);box-shadow:0 12px 28px #14232d14}.table-row.active{background:var(--surface-tint);border-color:#79cfc6}.status{border:1px solid;min-height:24px;padding:2px 8px;font-size:11px}.booking-form select,.booking-form input,.patient-form select,.patient-form input,.patient-edit-form select,.patient-edit-form input,.patient-edit-form textarea,.treatment-form select,.treatment-form input,.phase-form input,.billing-form select,.billing-form input,.clinical-form select,.clinical-form textarea,.community-form select,.community-form input,.community-form textarea,.staff-form select,.staff-form input,.staff-form textarea,.staff-row select,.progress-modal-grid select,.progress-modal-grid input,.progress-modal-grid textarea,.service-edit-form input,.service-edit-form select,.service-step-form input,.service-step-form button,.pharmacy-template-apply-row select,.pharmacy-rx-row input,.pharmacy-rx-row textarea,.pharmacy-template-item select,.pharmacy-template-item input,.pharmacy-template-item textarea,.notification-compose-form input,.notification-compose-form select,.notification-compose-form textarea{border-color:var(--line);border-radius:var(--radius-sm);background:#fff}.booking-form label,.patient-form label,.patient-edit-form label,.treatment-form label,.phase-form label,.billing-form label,.clinical-form label,.community-form label,.staff-form label,.notification-compose-form label,.notification-compose-grid label{color:var(--muted);font-size:11px;font-weight:850}.service-section-tabs,.inventory-section-tabs,.crm-section-tabs,.forms-section-tabs,.learning-section-tabs,.accounting-section-tabs,.service-config-tabs,.pharmacy-section-tabs,.staff-section-tabs,.settings-section-tabs{border:1px solid var(--line);border-radius:var(--radius);background:#edf3f4;gap:3px;padding:3px}.service-section-tabs button,.inventory-section-tabs button,.crm-section-tabs button,.forms-section-tabs button,.learning-section-tabs button,.accounting-section-tabs button,.service-config-tabs button,.pharmacy-section-tabs button,.staff-section-tabs button,.settings-section-tabs button{border-radius:var(--radius-sm);border:0;min-height:34px}.service-section-tabs button.active,.inventory-section-tabs button.active,.crm-section-tabs button.active,.forms-section-tabs button.active,.learning-section-tabs button.active,.accounting-section-tabs button.active,.service-config-tabs button.active,.pharmacy-section-tabs button.active,.staff-section-tabs button.active,.settings-section-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #14232d14}.notification-panel,.module-ai-chat-panel,.progress-modal,.service-modal,.service-config-modal,.schedule-create-modal,.patient-create-modal,.pharmacy-modal,.modal-backdrop>*{border-color:var(--line);border-radius:var(--radius);box-shadow:var(--shadow-raised)}.progress-modal-backdrop,.modal-backdrop,.image-lightbox{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d181f75}.patient-profile-strip,.patient-operation-strip,.invoice-meta-grid,.invoice-total-band,.invoice-notes-grid,.invoice-signature-grid{border-color:var(--line)}.patient-profile-strip>div,.patient-operation-strip>span,.patient-chart-stats div,.chart-context-detail-inline,.patient-admin-details,.schedule-alert,.credential-box,.booking-readiness,.pharmacy-template-preview,.pharmacy-detail-grid div,.pharmacy-detail-note,.accounting-budget-summary,.accounting-warning{background:var(--surface-muted);border-color:var(--line)}.appointment-card,.journey-billing-item,.pharmacy-rx-row,.pharmacy-template-item,.staff-today-pill,.inventory-alert-row,.dashboard-flow-step,.task-inbox-row{background:#fbfdfd}.module-ai-bubble{background:var(--teal);width:54px;height:54px;box-shadow:0 14px 30px #08766f47}.empty-state{background:var(--surface-muted);border:1px dashed var(--line-strong);border-radius:var(--radius)}@media print{body{background:#fff}.print-actions{display:none}.print-shell{background:#fff;min-height:auto;padding:0}.invoice-template{max-width:none;box-shadow:none;border:0;border-radius:0;padding:0}}@media (max-width:1180px){.app-shell{grid-template-columns:88px minmax(0,1fr)}.brand div:last-child,.nav-group-title,.nav-item span,.sidebar-card{display:none}.nav-list{gap:10px}.nav-group{gap:6px}.nav-item{justify-content:center}.content-grid.two,.patient-layout,.journey-grid,.patient-chart-paired-blocks,.patient-chart-layout,.portal-layout,.schedule-ops-layout,.schedule-dispatch-layout,.settings-layout{grid-template-columns:1fr}.schedule-side-stack,.schedule-queue{position:static}.patient-chart-side{max-height:none;padding-right:0;position:static;overflow:visible}.patient-card{max-height:none;position:static;overflow:visible}.patient-chart-paired-blocks{align-items:start}.metric-grid,.metric-grid.three{grid-template-columns:repeat(2,minmax(180px,1fr))}.billing-patient-card{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(96px,.55fr))}.billing-patient-card>div:nth-of-type(2),.billing-patient-card>div:nth-of-type(6){display:none}.billing-balance-form{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-summary-grid,.dashboard-command-panel,.dashboard-flow{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:760px){:is(html:has(.mobile-app-view),body:has(.mobile-app-view)){background:#f8fbfb}.app-shell{grid-template-columns:1fr}.sidebar{z-index:5;flex-direction:row;align-items:center;height:auto;padding:10px;position:sticky;top:0;overflow:auto visible}.brand{min-width:52px;padding:0}.brand div:last-child{display:none}.nav-list{gap:6px;display:flex;overflow-x:auto}.nav-group{display:contents}.nav-item{flex:0 0 44px;width:44px;padding:0}.workspace{padding:14px}body:has(.mobile-app-view) .sidebar{display:none}body:has(.mobile-app-view) .workspace{padding:max(12px, env(safe-area-inset-top)) 12px calc(86px + env(safe-area-inset-bottom))}body:has(.mobile-app-view) .topbar{min-height:auto;margin-bottom:10px}:is(body:has(.mobile-app-view) .topbar-main,body:has(.mobile-app-view) .topbar-controls){gap:8px}body:has(.mobile-app-view) .topbar-main h1{font-size:22px}body:has(.mobile-app-view) .topbar-actions{display:none}body:has(.mobile-app-view) .topbar-controls .select-field{display:none}body:has(.mobile-app-view) .topbar-controls .search-field{display:none}body:has(.mobile-app-view) .topbar-controls .topbar-clear-search{display:none}.mobile-app-toolbar{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:stretch;padding:14px}.mobile-app-toolbar h2{font-size:18px;line-height:1.25}.mobile-app-view .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-app-view .metric-card{min-height:86px;padding:12px}.billing-patient-card{grid-template-columns:1fr 1fr;align-items:stretch}.billing-patient-card>div:first-child,.billing-patient-card>span:last-child{grid-column:1/-1}.billing-patient-balance-panel>.record-grid{grid-template-columns:1fr}.billing-selected-patient-bar{flex-direction:column-reverse;align-items:stretch}.billing-selected-patient-bar>div{text-align:left}.billing-balance-form{grid-template-columns:1fr}.mobile-app-grid,.mobile-app-view .content-grid,.mobile-app-view .service-management-grid{gap:12px}.accounting-layout,.accounting-entry-form,.accounting-period-form,.accounting-ledger-filters,.accounting-budget-summary-row,.accounting-budget-row{grid-template-columns:1fr}.accounting-toolbar-actions,.accounting-period-form,.accounting-ledger-filters,.accounting-budget-summary{flex-direction:column;align-items:stretch}.accounting-ai-open-button{width:100%}.mobile-app-view .panel{border-radius:10px;padding:14px}.mobile-app-view .phone-frame{box-shadow:none;border:0;border-radius:0;width:100%;min-height:auto;margin:0;padding:0}.mobile-app-view .phone-top{background:var(--teal-soft);border-radius:8px;padding:10px 12px}.mobile-actions{grid-template-columns:1fr}.mobile-app-view .mobile-card{border:1px solid #b7e4dc}.mobile-app-view .portal-data-list{margin-top:0}.mobile-app-view .portal-row{align-items:start;gap:6px}.pwa-install-banner{border-radius:10px 10px 0 0;grid-template-columns:minmax(0,1fr) auto auto;width:100%;max-width:none;bottom:0}.pwa-install-hint{display:none}.topbar{align-items:flex-start}.topbar-main{flex-direction:column;align-items:flex-start;gap:10px;width:100%}.topbar-actions,.topbar-controls{width:100%}.topbar-actions{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.topbar-actions .context-badge,.topbar-actions .user-chip{flex:142px;min-width:0}.topbar-actions .language-switch{flex:none}.topbar-actions .icon-button{flex:0 0 38px;width:38px;height:38px}.notification-bell-wrap{flex:0 0 38px}.notification-bell-wrap .icon-button{width:38px}.notification-panel{width:calc(100vw - 24px);max-height:min(680px,100vh - 86px);position:fixed;top:72px;right:12px}.notification-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.notification-compose-grid,.notification-check-grid{grid-template-columns:1fr}.topbar-actions .module-ai-topbar-button{flex:112px;justify-content:center;min-height:38px}.module-ai-floating{bottom:max(12px, env(safe-area-inset-bottom));right:12px}.module-ai-bubble{width:54px;height:54px}.module-ai-chat-panel{border-radius:12px;width:calc(100vw - 24px);max-height:min(660px,100vh - 24px)}.topbar-actions form{flex:96px;display:flex}.topbar-actions form .secondary-button{width:100%;min-height:38px}.topbar-signout-button{padding:0 12px}.topbar-signout-button span{display:inline}.patient-chart-header,.patient-chart-tools,.patient-chart-topline,.patient-admin-list{grid-template-columns:1fr}.chart-search-meta{text-align:left;flex-direction:column;align-items:stretch}.patient-chart-picker{justify-self:stretch;width:100%}.patient-chart-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-timeline .chart-timeline-event{grid-template-columns:1fr}.chart-event-marker{display:none}.search-field,.select-field,.journey-patient-menu-trigger,.topbar-clear-search{width:100%}.journey-patient-menu-trigger{justify-content:center}.journey-patient-menu{border-left:0;border-radius:12px 12px 0 0;width:100%;max-width:none;height:min(82vh,720px);padding:14px;position:absolute;bottom:0}.language-switch button{min-height:30px}.search-field input,.select-field select,.select-field.compact select{width:100%;max-width:none}.patient-search-combobox{width:100%;min-width:0}.staff-day-picker .rdp-months{grid-template-columns:1fr}.staff-day-picker-button{gap:5px;min-height:76px;padding:6px}.staff-day-picker .rdp-month_grid{border-spacing:3px}.staff-day-picker-topline{gap:3px}.staff-day-picker-date{width:24px;height:24px;font-size:12px}.staff-month-start-badge{max-width:34px;padding:5px 6px;font-size:9px}.staff-day-picker-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.staff-day-picker-stats span{justify-content:center;min-height:18px;padding:0;font-size:0}.staff-day-picker-stats span span{min-width:16px;height:16px;padding:0 3px;font-size:10px}.metric-grid,.metric-grid.three,.reports-summary-grid,.dashboard-command-panel,.dashboard-flow,.task-inbox-row,.report-trend-row,.report-aging-row,.report-service-row,.patient-file-governance-form,.learning-metric-grid,.inventory-metric-grid,.inventory-alert-grid,.inventory-main-grid,.settings-metric-grid,.settings-overview-grid,.settings-lower-grid,.settings-staff-meta,.settings-staff-profile-summary,.settings-staff-profile-editor form,.settings-staff-actions,.settings-archive-counts,.surface-grid,.patient-profile-strip,.patient-operation-strip,.patient-summary,.patient-operations .patient-summary,.record-grid,.booking-form,.patient-form,.patient-edit-form,.treatment-form,.journey-treatment-notes,.phase-form,.billing-form,.clinical-form,.clinical-note-grid,.community-form,.comment-form,.staff-calendar-grid,.staff-day-detail-grid,.staff-day-modal-grid,.staff-ops-metric-grid,.staff-form,.staff-roster-grid,.staff-row,.schedule-filters,.schedule-metrics.three,.vitals-grid,.odontogram-workbench,.journey-service-row,.journey-selector,.journey-timeline article,.portal-row,.invoice-meta-grid,.invoice-total-band,.invoice-notes-grid,.invoice-signature-grid,.invoice-ledger-row,.learning-resource-input-row,.learning-resource-row,.inventory-item-row,.inventory-equipment-card{grid-template-columns:1fr}.print-shell{padding:14px}.invoice-template{padding:20px}.patient-edit-action{margin-left:0}.invoice-template-header{flex-direction:column}.invoice-brand{text-align:left}.odontogram-workbench>div:first-child{grid-column:auto}.journey-service-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;min-width:0}.journey-service-row.head{display:none}.journey-service-row:not(.head)>[data-label]{background:var(--surface);border:1px solid var(--line);border-radius:8px;align-content:start;gap:5px;min-width:0;padding:8px;display:grid}.journey-service-row:not(.head)>[data-label]:before{color:var(--muted);content:attr(data-label);font-size:11px;font-weight:900;line-height:1.2}.journey-service-row:not(.head)>.journey-service-name,.journey-service-row:not(.head)>.service-progress-cell,.journey-service-row:not(.head)>.journey-service-progress{grid-column:1/-1}.schedule-table{overflow-x:visible}.schedule-row{grid-template-columns:78px minmax(0,1fr);align-items:start;min-width:0}.schedule-row-head{display:none}.schedule-row>div:nth-child(n+3){grid-column:1/-1}.schedule-row-actions{align-items:stretch;gap:8px;display:flex}.schedule-row-actions form{flex-wrap:wrap}.schedule-row-actions button,.schedule-row-actions select{min-height:34px}.schedule-row-actions select{max-width:none}.progress-modal-actions{flex-direction:column;align-items:stretch}.progress-modal-actions .booking-readiness{order:-1;max-width:none;margin-right:0}.progress-modal-header{flex-direction:row;align-items:flex-start}.progress-modal-header .icon-button{flex:none}.service-action-row{flex-direction:column}.service-catalog-toolbar,.inventory-settings-grid{grid-template-columns:1fr}.service-section-tabs,.inventory-section-tabs,.crm-section-tabs,.forms-section-tabs,.learning-section-tabs,.accounting-section-tabs,.service-config-tabs{grid-template-columns:1fr;display:grid}.service-modal-grid,.modal-form-grid,.service-step-edit-form,.service-edit-form,.pharmacy-template-apply-row,.pharmacy-rx-row-head,.pharmacy-rx-row-grid,.pharmacy-prescription-summary,.pharmacy-medication-card-summary,.pharmacy-medication-facts,.pharmacy-detail-grid,.service-step-form,.pharmacy-template-item-head{grid-template-columns:1fr}.pharmacy-rx-row-grid .clinical-wide{grid-column:auto}.service-step-edit-form span,.pharmacy-template-item-head span{width:100%}.journey-billing-controls,.billing-operational-filters{grid-template-columns:1fr}.journey-selector{flex-direction:column;align-items:stretch}.staff-row form{flex-wrap:wrap}.settings-staff-card-head,.settings-archive-head,.settings-staff-actions form{flex-direction:column;align-items:stretch}.settings-staff-card-head{align-items:flex-start}.settings-staff-card-head .status{align-self:flex-start}.settings-staff-actions select,.settings-staff-actions button,.settings-profile-file-field,.settings-staff-profile-editor button{grid-column:1;width:100%}.journey-billing-head,.billing-service-badges{flex-direction:column;align-items:stretch}.journey-billing-stats{grid-template-columns:1fr}.booking-form .booking-reason,.patient-form .patient-wide,.patient-edit-form .patient-wide,.treatment-form .treatment-wide,.phase-form .phase-wide,.clinical-form .clinical-wide,.community-form .community-body,.community-form .community-tags{grid-column:auto}.schedule-grid{grid-template-columns:72px repeat(4,minmax(220px,1fr));overflow-x:auto}.table-row,.clinic-row,.timeline-item,.invoice-row,.bar-row,.report-table-row,.staff-attendance-row.billing-invoice-row,.staff-attendance-adjust-form.service-step-form{grid-template-columns:1fr}.clinic-stats{text-align:left}.odontogram-row{min-width:760px}}@media (max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--line);border-right:0;height:auto;max-height:none;position:static}.nav-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.sidebar-card{display:none}.topbar{margin-inline:-16px;padding-inline:16px}}@media (max-width:760px){.workspace{padding:14px}.topbar{margin:-14px -14px 14px;position:static}.topbar-main,.topbar-actions,.toolbar{align-items:stretch}.topbar-actions>*,.topbar-actions form,.topbar-actions button,.topbar-actions select,.search-field,.select-field,.user-chip,.context-badge{width:100%;max-width:none}.topbar-actions .notification-bell-wrap{flex:0 0 48px;width:48px}.topbar-actions form:has(.topbar-signout-button){flex:0 0 48px;width:48px}.topbar-actions .notification-bell-button,.topbar-actions form .topbar-signout-button{width:48px;min-width:48px;padding:0}.topbar-signout-button span{display:none}.metric-card{min-height:78px}.panel{padding:12px}}
