:root{font-family:Manrope,IBM Plex Sans,Segoe UI,sans-serif;--bg-main: radial-gradient(circle at 0% 0%, #f1f5f9 0%, #edf2ff 42%, #f8fafc 100%);--text-main: #12233d;--text-soft: #4d6583;--title: #0f1f37;--card-bg: rgba(255, 255, 255, .88);--card-border: rgba(117, 135, 164, .3);--card-shadow: 0 24px 42px -26px rgba(32, 51, 84, .22);--input-bg: #ffffff;--input-border: #b8c5da;--button-bg: linear-gradient(120deg, #0ea5e9, #14b8a6);--button-text: #032036;--ghost-bg: rgba(241, 245, 249, .9);--ghost-border: rgba(117, 135, 164, .45);--ghost-text: #1e3352;--ok-bg: rgba(16, 185, 129, .15);--ok-text: #0d855f;--warn-bg: rgba(245, 158, 11, .18);--warn-text: #ad6800;--neutral-bg: rgba(30, 58, 138, .11);--neutral-text: #2e4d8c;--modal-backdrop: rgba(10, 16, 28, .45);--top-row-height: 4.25rem;--search-row-height: 4.25rem}:root[data-theme=dark]{--bg-main: radial-gradient(circle at top right, #0f766e 0%, #0f172a 46%, #020617 100%);--text-main: #e2e8f0;--text-soft: #94a3b8;--title: #f8fafc;--card-bg: linear-gradient(145deg, rgba(15, 23, 42, .86), rgba(2, 6, 23, .92));--card-border: rgba(100, 116, 139, .3);--card-shadow: 0 20px 42px -26px rgba(15, 23, 42, .9);--input-bg: rgba(15, 23, 42, .85);--input-border: #334155;--button-bg: linear-gradient(120deg, #06b6d4, #14b8a6);--button-text: #06202b;--ghost-bg: rgba(51, 65, 85, .7);--ghost-border: rgba(148, 163, 184, .45);--ghost-text: #e2e8f0;--ok-bg: rgba(16, 185, 129, .2);--ok-text: #6ee7b7;--warn-bg: rgba(245, 158, 11, .2);--warn-text: #fcd34d;--neutral-bg: rgba(148, 163, 184, .2);--neutral-text: #cbd5e1;--modal-backdrop: rgba(2, 6, 23, .64)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text-main);background:var(--bg-main)}#app{min-height:100vh}h1,h2,h3,p{margin:0}.eyebrow{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;color:#0ea5e9}.muted{color:var(--text-soft);margin-top:.35rem}.small{font-size:.82rem}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:1rem;padding:1rem;box-shadow:var(--card-shadow)}.app-auth{display:grid;place-items:center;min-height:100vh;padding:1rem}.auth-card{width:min(460px,96vw)}.workspace{min-height:100vh;width:100%;display:grid;grid-template-columns:280px minmax(0,1fr);align-items:start}.workspace.compact .card{padding:.82rem}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--card-border);padding:1rem;background:color-mix(in oklab,var(--card-bg) 92%,transparent);display:flex;flex-direction:column;gap:1rem}.sidebar-head h2{color:var(--title);margin-top:.35rem}.sidebar-nav{display:grid;gap:.45rem}.nav-group{display:grid;gap:.32rem}.nav-group-toggle{margin-bottom:0}.nav-group-toggle:after{content:"▾";position:absolute;right:.62rem;top:.6rem;font-size:.78rem;color:var(--text-soft);transition:transform .12s ease}.nav-group-toggle[aria-expanded=false]:after{transform:rotate(-90deg)}.sidebar-subnav{display:grid;gap:.3rem;margin-left:.55rem;padding-left:.45rem;border-left:1px solid var(--card-border)}.nav-sub-item{text-align:left;border-radius:.68rem;border:1px solid var(--card-border);background:var(--input-bg);color:var(--text-main);padding:.54rem .62rem;display:grid;gap:.12rem;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.nav-sub-item.active{border-color:#0ea5e9;box-shadow:inset 0 0 0 1px #0ea5e9;transform:translate(1px)}.nav-sub-item .nav-label{font-weight:600;font-size:.92rem}.nav-sub-item small{color:var(--text-soft);font-size:.76rem}.nav-item{position:relative;text-align:left;border-radius:.8rem;border:1px solid var(--card-border);background:var(--input-bg);color:var(--text-main);padding:.72rem;cursor:pointer;display:grid;gap:.16rem;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background-color .16s ease}.nav-item:before{content:"";position:absolute;left:.42rem;top:.52rem;bottom:.52rem;width:.16rem;border-radius:999px;background:#0ea5e9;transform:scaleY(0);transform-origin:center;transition:transform .16s ease}.nav-head{display:inline-flex;align-items:center;gap:.5rem}.nav-item.active{border-color:#0ea5e9;box-shadow:inset 0 0 0 1px #0ea5e9;transform:translate(2px)}.nav-item.active:before{transform:scaleY(1)}.nav-item.active .nav-label{color:#0369a1}.nav-label{font-weight:700}.nav-item small{color:var(--text-soft)}.nav-icon{width:1.05rem;height:1.05rem;color:var(--text-main);flex-shrink:0;transition:color .14s ease}.nav-item.active .nav-icon{color:#0ea5e9}.view-content{display:grid;gap:1rem;align-content:start;animation:viewFadeSlide .18s ease}@keyframes viewFadeSlide{0%{opacity:0}to{opacity:1}}.sidebar-foot{margin-top:auto}.main-panel{min-height:100vh;padding:1rem 1.2rem 1.4rem;display:grid;gap:.72rem;align-content:start;align-items:start;grid-auto-rows:max-content}.topbar{display:flex;justify-content:space-between;gap:.75rem;align-items:center;height:var(--top-row-height);min-height:var(--top-row-height)}.topbar-main{display:grid;gap:.14rem}.topbar h1,.card h2{color:var(--title);font-size:1.24rem}.topbar-right{display:flex;align-items:center;gap:.6rem;justify-content:flex-end}.workspace-switch{display:inline-flex;align-items:center;gap:.15rem;border:1px solid var(--card-border);border-radius:999px;padding:.12rem;background:var(--input-bg)}.workspace-switch-item{border:0;background:transparent;color:var(--text-soft);border-radius:999px;padding:.28rem .68rem;font-size:.78rem;font-weight:700;cursor:pointer}.workspace-switch-item.active{background:#0ea5e9;color:#fff}.topbar-action{white-space:nowrap}.search-field{display:flex;align-items:center;gap:.55rem;font-size:.8rem;margin:0}.section-head+.search-field{margin-top:.72rem}.search-field input{flex:1;min-width:0}.search-label{white-space:nowrap;font-weight:700;color:var(--title)}.user-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.icon-action{position:relative;width:2.35rem;height:2.35rem;padding:0;display:inline-flex;align-items:center;justify-content:center}.icon-action svg{width:1.2rem;height:1.2rem}.hover-label{position:absolute;bottom:-2rem;left:50%;transform:translate(-50%);opacity:0;pointer-events:none;white-space:nowrap;font-size:.72rem;font-weight:700;color:var(--ghost-text);background:var(--ghost-bg);border:1px solid var(--ghost-border);border-radius:999px;padding:.2rem .5rem;transition:opacity .12s ease}.icon-action:hover .hover-label,.icon-action:focus-visible .hover-label{opacity:1}.search-panel{height:var(--search-row-height);min-height:var(--search-row-height);display:flex;align-items:center}.occupational-search-disabled{height:auto;min-height:var(--search-row-height);display:grid;align-content:center;gap:.2rem}.search-panel-form{width:100%;display:grid;grid-template-columns:1fr auto;gap:.55rem;align-items:center}.search-panel-actions{display:flex;gap:.35rem;align-items:center}.search-modal-card{width:min(820px,96vw)}.patient-detail-modal{width:min(1100px,97vw)}.modal-actions{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.user-name{font-size:.95rem;color:var(--title);padding:.45rem .75rem;border-radius:999px;background:var(--card-bg);border:1px solid var(--card-border);max-width:18rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch}.metric-card{display:grid;gap:.4rem;min-height:8.2rem;align-content:start}.metric-value{font-size:1.5rem;font-weight:800;color:var(--title)}.metric-badge-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-top:.2rem}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.grid-two>.card,.metrics-grid>.card{height:100%}.grid-two>.occupational-wide-card{grid-column:1 / -1}.occupational-workers-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.occupational-agenda-stack{display:grid;gap:1rem}.occupational-documents-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.occupational-presets-inline{grid-column:1 / -1;display:grid;gap:1rem}.agenda-week-table{margin-top:.72rem;border:1px solid var(--card-border);border-radius:.85rem;overflow:hidden}.agenda-week-header{display:grid;grid-template-columns:6.2rem repeat(7,minmax(0,1fr));background:color-mix(in oklab,var(--card-bg) 85%,white 15%);border-bottom:1px solid var(--card-border)}.agenda-hour-head,.agenda-day-head{padding:.52rem .45rem;font-size:.76rem;font-weight:700;color:var(--title);border-right:1px solid var(--card-border)}.agenda-day-head:last-child{border-right:none}.agenda-day-head.weekend{background:#fff6cc;color:#6b4f00}.agenda-day-head.today{background:color-mix(in srgb,#0ea5e9 18%,#ffffff 82%);color:#0f3b62;box-shadow:inset 0 -2px #0ea5e9}.agenda-day-head.today.weekend{background:color-mix(in srgb,#fde68a 66%,#0ea5e9 34%);color:#4a3a00}.agenda-week-body{display:grid}.agenda-week-row{display:grid;grid-template-columns:6.2rem repeat(7,minmax(0,1fr));min-height:3.8rem;border-bottom:1px solid var(--card-border)}.agenda-week-row:last-child{border-bottom:none}.agenda-hour-cell{padding:.5rem .45rem;font-size:.74rem;font-weight:700;color:var(--text-soft);border-right:1px solid var(--card-border);display:flex;align-items:flex-start}.agenda-slot-cell{border-radius:0;border:0;border-right:1px solid var(--card-border);background:var(--input-bg);color:var(--text-main);text-align:left;display:grid;align-content:start;gap:.18rem;padding:.28rem;min-height:3.8rem}.agenda-slot-cell.weekend{background:#fffced}.agenda-slot-cell.today{background:color-mix(in srgb,#0ea5e9 11%,var(--input-bg) 89%)}.agenda-slot-cell.today.weekend{background:color-mix(in srgb,#fde68a 62%,#0ea5e9 38%)}.agenda-week-row .agenda-slot-cell:last-child{border-right:none}.agenda-slot-cell:hover,.agenda-slot-cell:focus-visible{box-shadow:inset 0 0 0 1px #0ea5e9}.agenda-slot-list{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}.agenda-slot-list li{border:1px solid var(--card-border);border-radius:.5rem;padding:.24rem .3rem;background:color-mix(in oklab,var(--neutral-bg) 55%,var(--input-bg) 45%);display:grid;gap:.12rem}.agenda-slot-list strong{font-size:.72rem;color:var(--title)}.agenda-slot-list small{font-size:.68rem;color:var(--text-soft)}.agenda-slot-empty{width:1.22rem;height:1.22rem;border-radius:999px;border:1px dashed var(--input-border);color:var(--text-soft);display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;font-weight:800}.week-calendar-grid{margin-top:.72rem;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem}.week-day-card{border-radius:.8rem;border:1px solid var(--card-border);background:var(--input-bg);padding:.58rem;display:grid;gap:.42rem;align-content:start;min-height:10.5rem}.week-day-card h3{font-size:.82rem;color:var(--title)}.week-day-list{list-style:none;margin:0;padding:0;display:grid;gap:.38rem}.week-day-list li{border-radius:.58rem;border:1px solid var(--card-border);background:color-mix(in oklab,var(--input-bg) 92%,white 8%);padding:.44rem;display:grid;gap:.12rem}.week-day-list strong{font-size:.76rem}.week-day-list span,.week-day-list small{font-size:.74rem;color:var(--text-soft)}.stack{margin-top:.8rem;display:grid;gap:.78rem}label{display:grid;gap:.35rem;font-size:.85rem;color:var(--text-main)}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--input-border);border-radius:.6rem;background:var(--input-bg);color:var(--text-main);padding:.62rem .7rem}input:focus,select:focus,textarea:focus{outline:2px solid rgba(14,165,233,.3);border-color:#0ea5e9}button{border:0;border-radius:.6rem;padding:.64rem .95rem;background:var(--button-bg);color:var(--button-text);font-weight:800;cursor:pointer}button.ghost{background:var(--ghost-bg);color:var(--ghost-text);border:1px solid var(--ghost-border)}button.ghost.active{border-color:#0ea5e9;box-shadow:inset 0 0 0 1px #0ea5e9}button:disabled{opacity:.6;cursor:not-allowed}.list{list-style:none;padding:0;margin:.85rem 0 0;display:grid;gap:.6rem}.list li{border-radius:.7rem;background:var(--input-bg);border:1px solid var(--card-border);padding:.66rem;display:grid;gap:.2rem}.search-result-item{cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.search-result-title{display:flex;align-items:center;gap:.5rem}.search-result-title strong{flex:1}.search-result-title .nav-icon{width:1rem;height:1rem;color:#0ea5e9}.search-result-kind{font-size:.7rem;font-weight:700;color:var(--ghost-text);background:var(--ghost-bg);border:1px solid var(--ghost-border);border-radius:999px;padding:.1rem .45rem}.search-result-item:hover,.search-result-item:focus-visible{border-color:#0ea5e9;box-shadow:inset 0 0 0 1px #0ea5e9;transform:translateY(-1px)}.list span,.list small{color:var(--text-soft)}.reminder-meta{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.list-actions{margin-top:.25rem}.inline-actions{margin-top:.3rem;display:inline-flex;gap:.45rem;flex-wrap:wrap}.inline-actions button{padding:.34rem .55rem;font-size:.76rem}.compact-list{margin-top:.55rem}.compact-list li{padding:.55rem}.patient-detail-grid{margin-top:.9rem}.patient-editor-card{grid-column:1 / -1}.patient-editor-form{grid-template-columns:1fr}.patient-editor-top-row,.patient-editor-half-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.patient-editor-full{grid-column:1 / -1}.quick-actions{margin-top:.8rem;display:grid;gap:.6rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.section-head-actions{display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{min-width:0}.record-grid{margin-top:.85rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.list-pagination{margin-top:.72rem;display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.list-pagination-actions{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.list-page-size-picker{display:inline-flex;align-items:center;gap:.38rem}.list-page-size-picker select{min-width:4.25rem}.record-cell{border-radius:.8rem;border:1px solid var(--card-border);background:var(--input-bg);color:var(--text-main);text-align:left;padding:.72rem 3.25rem .72rem .72rem;display:grid;gap:.25rem;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;position:relative}.patient-cell,.invoice-cell,.prescription-cell{align-content:start}.record-cell.selected,.patient-cell.selected{border-color:#16a34a;box-shadow:inset 0 0 0 1px #16a34a}.record-rail{position:absolute;top:.22rem;right:.22rem;bottom:.22rem;width:2.35rem;border-left:1px solid var(--card-border);display:grid;grid-template-rows:1fr 1fr;border-radius:.58rem;overflow:hidden}.rail-button{border:0;border-radius:0;width:100%;height:100%;padding:0;margin:0;font-size:.9rem;font-weight:800;color:var(--ghost-text);background:color-mix(in oklab,var(--ghost-bg) 90%,white 10%)}.rail-button svg{width:1rem;height:1rem;display:block;margin:0 auto}.select-button{border-bottom:1px solid var(--card-border)}.select-button.active{background:linear-gradient(120deg,#22c55e,#16a34a);color:#f8fffb}.archive-button{background:linear-gradient(120deg,#f59e0b,#f97316);color:#1f2937}.compact-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-cell:hover,.record-cell:focus-visible{border-color:#0ea5e9;box-shadow:inset 0 0 0 1px #0ea5e9;transform:translateY(-1px)}.badge{width:fit-content;border-radius:999px;padding:.2rem .56rem;font-size:.72rem;font-weight:700}.badge.ok{background:var(--ok-bg);color:var(--ok-text)}.badge.warn{background:var(--warn-bg);color:var(--warn-text)}.badge.neutral{background:var(--neutral-bg);color:var(--neutral-text)}.status,.status-line{margin-top:.8rem;color:var(--text-main);font-size:.92rem}.save-toast{position:fixed;right:1.25rem;bottom:1.2rem;z-index:36;border:1px solid var(--card-border);background:color-mix(in oklab,var(--ok-bg) 65%,var(--card-bg));color:var(--ok-text);border-radius:.72rem;padding:.58rem .84rem;box-shadow:var(--card-shadow);font-size:.86rem;font-weight:700}.save-toast.error{background:color-mix(in oklab,#fee2e2 78%,var(--card-bg));border-color:#fca5a5;color:#b91c1c}.modal-backdrop{position:fixed;inset:0;background:var(--modal-backdrop);display:grid;place-items:center;overflow-y:auto;padding:1rem;z-index:5000}.modal-card{position:relative;width:min(1120px,97vw);max-height:calc(100vh - 2rem);overflow-y:auto;background:var(--card-bg);border:1px solid var(--card-border);border-radius:1rem;box-shadow:var(--card-shadow);padding:1rem}.confirm-modal{width:min(460px,95vw);display:grid;gap:.85rem}.confirm-actions{display:flex;justify-content:flex-end;gap:.55rem}.danger-button{background:linear-gradient(120deg,#dc2626,#ef4444);color:#fff}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.document-preview-wrap{grid-column:1 / -1;margin-top:.35rem;display:grid;gap:.45rem}.document-a4-paper{width:min(210mm,100%);min-height:72vh;margin:0 auto;background:#fff;color:#111827;border:1px solid #d1d5db;box-shadow:0 16px 30px #0f172a1f;padding:18mm 16mm;font-family:Times New Roman,Georgia,serif;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:.85rem}.document-a4-header p,.document-a4-footer p{margin:0;line-height:1.4;font-size:.98rem}.document-a4-divider{width:100%;border:0;border-top:1px solid #9ca3af;margin:0}.document-a4-title{margin:0;text-align:center;font-size:1.22rem;letter-spacing:.02em;text-transform:uppercase}.document-a4-body{white-space:pre-wrap;line-height:1.62;font-size:1.02rem}.invoice-a4-paper{grid-template-rows:auto auto auto auto 1fr auto}.invoice-a4-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem}.invoice-a4-meta p{margin:0;font-size:.95rem;line-height:1.4}.document-a4-footer{margin-top:1rem;text-align:right}.settings-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.settings-block{border:1px solid var(--card-border);border-radius:.9rem;background:var(--input-bg);padding:.85rem}.theme-switch{margin-top:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}.theme-switch div{display:flex;gap:.45rem}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-top:.65rem}.checkbox-row input{width:1rem;height:1rem}.token-box{margin-top:.8rem;border-radius:.7rem;border:1px dashed var(--card-border);padding:.7rem}.token-box p{margin:.2rem 0;word-break:break-all}.feature-badges{margin-top:.55rem;display:flex;flex-wrap:wrap;gap:.35rem}.settings-table-wrap{margin-top:.8rem;border:1px solid var(--card-border);border-radius:.65rem;overflow-x:auto}.settings-permissions-table{width:100%;border-collapse:collapse;font-size:.82rem}.settings-permissions-table th,.settings-permissions-table td{border-bottom:1px solid var(--card-border);padding:.5rem .55rem;text-align:left;white-space:nowrap}.settings-permissions-table th{font-weight:700;color:var(--text-soft);background:color-mix(in srgb,var(--panel-bg) 78%,var(--surface-1) 22%)}.settings-permissions-table tbody tr:last-child td{border-bottom:none}@media(max-width:1120px){.workspace{grid-template-columns:1fr}.sidebar{position:static;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--card-border)}.sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.week-calendar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.agenda-week-header,.agenda-week-row{grid-template-columns:4.8rem repeat(7,minmax(0,1fr))}}@media(max-width:880px){.metrics-grid,.grid-two,.settings-grid,.form-grid,.patient-editor-top-row,.patient-editor-half-grid{grid-template-columns:1fr}.topbar-right{width:100%;justify-content:space-between;flex-wrap:wrap}.topbar,.search-panel{height:auto;min-height:auto}.search-field,.search-panel-form{width:100%}.search-panel-form{grid-template-columns:1fr}.search-field{flex-direction:column;align-items:flex-start}.user-actions{flex-wrap:wrap;justify-content:flex-start}.record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-record-grid{grid-template-columns:1fr}.week-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-a4-paper{min-height:62vh;padding:1rem}.invoice-a4-meta{grid-template-columns:1fr}.agenda-week-header,.agenda-week-row{grid-template-columns:4.2rem repeat(4,minmax(0,1fr))}.agenda-day-head:nth-child(n+6),.agenda-week-row .agenda-slot-cell:nth-child(n+6){display:none}}@media(max-width:640px){.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-switch{flex-direction:column;align-items:flex-start}.record-grid,.week-calendar-grid{grid-template-columns:1fr}.document-a4-paper{min-height:56vh;padding:.85rem}.agenda-week-header,.agenda-week-row{grid-template-columns:3.8rem repeat(3,minmax(0,1fr))}.agenda-day-head:nth-child(n+5),.agenda-week-row .agenda-slot-cell:nth-child(n+5){display:none}}@media(prefers-reduced-motion:reduce){.view-content{animation:none}.nav-item,.nav-item:before,.nav-icon{transition:none}}
