:root{color-scheme:dark;--bg: #0a0d12;--bg-raised: #0f131a;--surface: #12161d;--surface-2: #181d27;--border: #232a35;--border-strong: #303948;--text: #e8ebef;--text-muted: #97a1ad;--text-faint: #7e8a97;--accent: #2f7df6;--accent-strong: #1d6ae5;--accent-soft: rgba(47, 125, 246, .13);--accent-text: #6ea8ff;--accent-border: rgba(47, 125, 246, .45);--amber-text: #ffd166;--amber-soft: rgba(255, 209, 102, .09);--amber-strong-bg: rgba(255, 209, 102, .16);--amber-border: rgba(255, 209, 102, .35);--amber-swatch: #ffd166;--danger: #ff8a90;--danger-soft: rgba(255, 138, 144, .1);--danger-border: rgba(255, 138, 144, .35);--panel-bg-1: #151a23;--panel-bg-2: #11151d;--panel-top: #2b3340;--panel-shadow: 0 14px 36px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .03);--appbar-bg: rgba(15, 19, 26, .92);--input-bg: #11161e;--glow: rgba(47, 125, 246, .07);--radius-card: 14px;--radius-control: 8px;--appbar-h: 60px}html[data-theme=light]{color-scheme:light;--bg: #f2f5f9;--bg-raised: #ffffff;--surface: #ffffff;--surface-2: #eef2f7;--border: #dfe6ee;--border-strong: #c8d3e0;--text: #1b2530;--text-muted: #5b6873;--text-faint: #717e8b;--accent: #2f7df6;--accent-strong: #1d6ae5;--accent-soft: rgba(29, 106, 229, .09);--accent-text: #1259c8;--accent-border: rgba(29, 106, 229, .4);--amber-text: #8a5b00;--amber-soft: #fff4d6;--amber-strong-bg: rgba(154, 107, 0, .12);--amber-border: rgba(154, 107, 0, .38);--amber-swatch: #f0c243;--danger: #c8232f;--danger-soft: #fdeded;--danger-border: #f1b9bd;--panel-bg-1: #ffffff;--panel-bg-2: #fbfcfe;--panel-top: #e9eef5;--panel-shadow: 0 10px 28px rgba(23, 38, 62, .09), inset 0 1px 0 #ffffff;--appbar-bg: rgba(255, 255, 255, .92);--input-bg: #ffffff;--glow: rgba(29, 106, 229, .05)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5;transition:background .2s ease,color .2s ease}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}button{font:inherit}.shell{min-height:100dvh;display:flex;flex-direction:column}.hint{color:var(--text-muted);font-size:12.5px;margin:8px 0 0}.chip{display:inline-flex;align-items:center;padding:1px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-size:11.5px;white-space:nowrap}.appbar{position:sticky;top:0;z-index:10;height:var(--appbar-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px;background:var(--appbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.appbar-brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:9px;background:linear-gradient(160deg,#3b8bff,var(--accent-strong));color:#fff;box-shadow:0 2px 10px #1d6ae559}.brand-mark.large{width:48px;height:48px;border-radius:12px}.appbar-names{display:flex;flex-direction:column;line-height:1.25;min-width:0}.appbar-names strong{font-size:14.5px;font-weight:650;white-space:nowrap}.appbar-names small{color:var(--text-muted);font-size:11.5px;white-space:nowrap}.appbar-actions{display:flex;align-items:center;gap:10px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.icon-btn:hover{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.icon-btn:active{transform:translateY(1px)}.user-bar{display:flex;align-items:center;gap:10px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:11px;font-weight:700;letter-spacing:.03em}.user-bar button{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--border-strong);border-radius:var(--radius-control);background:transparent;color:var(--text);font-size:13px;cursor:pointer;transition:border-color .16s ease,background .16s ease}.user-bar button:hover{border-color:var(--accent);background:var(--accent-soft)}.user-bar button:active{transform:translateY(1px)}.workspace{flex:1;display:flex;flex-direction:column;width:100%;max-width:1640px;margin:0 auto;padding:36px 28px 48px;background:radial-gradient(720px 260px at 16% -60px,var(--glow),transparent 70%)}.eyebrow{margin:0 0 6px;color:var(--accent-text);font-size:11px;font-weight:700;letter-spacing:.14em}.workspace h1{margin:0 0 22px;font-size:28px;font-weight:700;letter-spacing:-.015em}.search-box{margin-bottom:26px}.search-field{position:relative}.search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--text-faint);pointer-events:none}.search-field input{width:100%;padding:13px 18px 13px 45px;font-size:15px;color:var(--text);background:var(--input-bg);border:1px solid var(--border-strong);border-radius:10px;outline:none;box-shadow:inset 0 1px #ffffff08;transition:border-color .16s ease,box-shadow .16s ease}.search-field input::placeholder{color:var(--text-faint)}.search-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.panels{flex:1;display:grid;grid-template-columns:350px minmax(0,1fr);gap:20px;align-items:stretch}.panel{display:flex;flex-direction:column;min-height:480px;background:linear-gradient(180deg,var(--panel-bg-1),var(--panel-bg-2));border:1px solid var(--border);border-top-color:var(--panel-top);border-radius:var(--radius-card);box-shadow:var(--panel-shadow);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.panel-head h3{margin:0;font-size:12px;font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.panel-body{flex:1;display:flex;flex-direction:column;padding:8px}.panel-detail .panel-body{padding:20px}.panel-footnote{padding:0 10px 8px}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;padding:32px 24px}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:12px;border-radius:14px;background:linear-gradient(160deg,var(--accent-soft),transparent);border:1px solid var(--accent-border);color:var(--accent-text);box-shadow:0 6px 18px var(--accent-soft)}.empty-state h3{margin:0;font-size:16px;font-weight:650}.empty-state p{margin:0;max-width:380px;color:var(--text-muted);font-size:13px}.stat-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}.stat-tile{min-width:108px;padding:11px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;text-align:center}.stat-tile strong{display:block;font-size:17px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.stat-tile span{color:var(--text-muted);font-size:11.5px}.patient-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.patient-row{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;transition:background .14s ease,border-color .14s ease}.patient-row:hover{background:var(--surface-2)}.patient-row.selected{background:var(--accent-soft);border-color:var(--accent-border)}.patient-row-name{font-weight:600;font-size:13.5px}.patient-row.selected .patient-row-name{color:var(--accent-text)}.patient-row-meta{display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:12px}.patient-row-date{margin-left:auto;color:var(--text-faint);font-variant-numeric:tabular-nums}.patient-header{margin-bottom:16px}.patient-header h2{margin:0 0 9px;font-size:19px;font-weight:700;letter-spacing:-.01em}.patient-chips{display:flex;flex-wrap:wrap;gap:8px}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-raised)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}thead th{padding:10px 12px;background:var(--surface-2);color:var(--text-muted);font-size:11.5px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;text-align:center;border-bottom:1px solid var(--border-strong);white-space:nowrap}tbody td{padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr.group-first td{border-top:1px solid var(--border-strong)}tbody tr.group-first:first-child td{border-top:none}.center{text-align:center}.faint{color:var(--text-faint)}.mono{font-variant-numeric:tabular-nums;white-space:nowrap}.money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.procedure-cell{font-weight:550;min-width:220px}tbody tr.repeat td{background:var(--amber-soft)}tbody tr.repeat.group-first td{border-top-color:var(--amber-border)}.amber{color:var(--amber-text)}.bold{font-weight:700}.badge-repeat{display:inline-block;margin-left:9px;padding:1px 8px;border-radius:999px;background:var(--amber-strong-bg);border:1px solid var(--amber-border);color:var(--amber-text);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:1px}.status{margin:12px;font-size:13px}.status-loading,.status-empty{color:var(--text-muted)}.status-error{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:var(--radius-control);color:var(--danger)}.status-error button{flex:none;padding:5px 12px;border:1px solid var(--danger-border);border-radius:var(--radius-control);background:transparent;color:var(--danger);cursor:pointer;transition:background .14s ease,color .14s ease}.status-error button:hover{background:var(--danger);color:var(--bg)}.skeleton-group{display:flex;flex-direction:column;gap:12px;padding:14px 12px}.skeleton-row{display:flex;flex-direction:column;gap:7px;padding:4px 0}.skeleton-bar{height:12px;border-radius:6px;background:var(--surface-2);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-bar.thin{height:9px}.skeleton-bar.wide{height:15px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.login-wrap{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:9vh 20px 48px;background:radial-gradient(640px 300px at 50% -80px,var(--glow),transparent 70%)}.login-form{width:100%;max-width:400px;padding:32px 32px 28px;background:linear-gradient(180deg,var(--panel-bg-1),var(--panel-bg-2));border:1px solid var(--border);border-top-color:var(--panel-top);border-radius:var(--radius-card);box-shadow:var(--panel-shadow);display:flex;flex-direction:column;gap:16px}.login-brand{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;margin-bottom:8px}.login-brand .brand-mark{margin-bottom:12px}.login-brand h1{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.login-brand p{margin:0;color:var(--text-muted);font-size:12.5px}.login-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600}.field-input{position:relative;display:block}.field-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:inline-flex;color:var(--text-faint);pointer-events:none}.field-input input{width:100%;padding:10px 14px 10px 37px;font-size:14px;font-weight:400;color:var(--text);background:var(--input-bg);border:1px solid var(--border-strong);border-radius:var(--radius-control);outline:none;transition:border-color .16s ease,box-shadow .16s ease}.field-input input::placeholder{color:var(--text-faint)}.field-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.login-form>button{margin-top:4px;padding:11px;font-size:14.5px;font-weight:650;border:none;border-radius:var(--radius-control);background:var(--accent-strong);color:#fff;cursor:pointer;transition:background .16s ease}.login-form>button:hover:not(:disabled){background:var(--accent)}.login-form>button:active:not(:disabled){transform:translateY(1px)}.login-form>button:disabled{opacity:.5;cursor:not-allowed}.login-error{margin:0;font-size:12.5px;color:var(--danger)}@media(max-width:960px){.panels{grid-template-columns:1fr}.panel{min-height:0}.empty-state{padding:32px 20px}}@media(max-width:640px){.workspace{padding:24px 12px 48px}.appbar{padding:0 12px}thead th,tbody td{padding:8px;font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
