: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%)}.search-box{margin:4px 0 22px}.search-row{display:flex;align-items:stretch;gap:10px}.search-modes{display:inline-flex;padding:3px;gap:3px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:10px}.mode-btn{padding:0 14px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;white-space:nowrap;transition:color .14s ease,background .14s ease,border-color .14s ease}.mode-btn:hover{color:var(--text)}.mode-btn.is-active{color:var(--text);background:var(--input-bg);border-color:var(--border-strong)}.mode-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-field{position:relative;flex:1}@media(max-width:720px){.search-row{flex-direction:column}.search-modes{align-self:stretch}.mode-btn{flex:1;padding:8px 10px}}.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}.mono{font-variant-numeric:tabular-nums;white-space:nowrap}.money{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.bill-cards{display:flex;flex-direction:column;gap:14px}.bill-card{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--bg-raised);overflow:hidden}.bill-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:11px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}.bill-id{display:flex;align-items:baseline;gap:12px;min-width:0}.bill-ref{font-weight:650;font-size:13.5px}.bill-date{color:var(--text-muted);font-size:12.5px;font-variant-numeric:tabular-nums}.bill-card-actions{display:flex;align-items:center;gap:12px}.bill-total{font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;white-space:nowrap}.bill-pdf-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--accent-border);border-radius:var(--radius-control);background:var(--accent-soft);color:var(--accent-text);font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .14s ease,border-color .14s ease}.bill-pdf-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}.bill-items{list-style:none;margin:0;padding:0}.bill-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 14px;border-bottom:1px solid var(--border);font-size:13px}.bill-item:last-child{border-bottom:none}.bill-item-name{font-weight:550}.bill-item.repeat{background:var(--amber-soft)}.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}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;background:#04070ba8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:modal-fade .14s ease}.modal{display:flex;flex-direction:column;width:min(960px,100%);height:min(90vh,100%);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-card);box-shadow:0 24px 64px #00000080;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-2)}.modal-title{font-weight:650;font-size:13.5px}.modal-actions{display:flex;align-items:center;gap:10px}.modal-pdf{flex:1;width:100%;border:none;background:#fff}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.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(min-width:961px){html,body{height:100%}body{overflow:hidden}.shell{height:100dvh;overflow:hidden}.workspace{min-height:0;overflow:hidden;padding-bottom:24px}.panels,.panel{min-height:0}.panel-body{min-height:0;overflow-y:auto}}@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}}
