:root{--bg:#eeedf3;--bg2:#e7e5ee;--surface:#f8f7fa;--surface2:#f1eff5;--text:#1f222b;--muted:#6c6b75;--line:#d8d5df;--brand:#5547a8;--brand-soft:#e9e5f6;--good:#18764a;--good-bg:#e5f3eb;--warn:#926619;--warn-bg:#f7edd6;--bad:#b93845;--bad-bg:#f7e4e7;--info:#315d87;--info-bg:#e1edf6;--shadow:0 4px 15px rgba(35,30,55,.05)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:linear-gradient(180deg,var(--bg),var(--bg2));color:var(--text);font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;min-height:100vh}.wrap{max-width:1240px;margin:0 auto;padding:0 18px}.top{background:rgba(248,247,250,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.top-inner{min-height:72px;display:flex;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.logo{width:40px;height:40px;border-radius:13px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}.brand h1{font-size:20px;margin:0}.brand p{margin:1px 0 0;color:var(--muted);font-size:12.5px}.userbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pill{background:var(--brand-soft);border:1px solid #d7d0ef;border-radius:999px;padding:6px 10px}.idle{font-size:12px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:18px}.login-card{max-width:420px;margin:56px auto}h2,h3,h4{margin-top:0}label{display:block;margin:14px 0 5px;font-weight:600;font-size:13px}input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfafc;color:var(--text);font:inherit}input:focus,select:focus{outline:2px solid #9d92d3;outline-offset:1px}.btn{border:1px solid #cbc7d3;background:var(--surface);color:var(--text);padding:9px 12px;border-radius:9px;cursor:pointer;font:inherit}.btn:hover{background:var(--surface2)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.ghost{background:transparent}.full{width:100%;margin-top:18px}.muted,.hint{color:var(--muted)}.hint{font-size:12px;margin:6px 0}.hidden{display:none!important}.error{margin-top:12px;background:var(--bad-bg);border:1px solid #e6bcc2;color:var(--bad);padding:10px;border-radius:9px}.notice{margin:12px 0;padding:11px 13px;border:1px solid #c9c2e7;background:var(--brand-soft);border-radius:10px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:18px 0 12px}.toolbar input{flex:1;min-width:220px}.toolbar select{width:auto}.spacer{flex:1}.statusbar{display:flex;gap:10px 24px;flex-wrap:wrap;color:var(--muted);font-size:12.5px;margin:4px 2px 14px}.patient-row{width:100%;display:flex;gap:12px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:12px 14px;margin:9px 0;cursor:pointer;box-shadow:0 2px 9px rgba(35,30,55,.025)}.patient-row:hover{border-color:#aaa0d2;background:#fbfafd}.bed{min-width:68px;background:var(--brand-soft);color:var(--brand);font-weight:750;text-align:center;border-radius:8px;padding:6px 8px}.patient-main{flex:1;min-width:0}.patient-main strong{display:block}.patient-main small{color:var(--muted)}.tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tag{font-size:12px;border-radius:7px;padding:4px 8px;font-weight:650}.tag-hd{background:var(--brand-soft);color:var(--brand)}.tag-cvvhdf{background:var(--warn-bg);color:var(--warn)}.tag-cpos{background:var(--bad-bg);color:var(--bad)}.tag-cpend{background:var(--warn-bg);color:var(--warn)}.tag-cneg{background:var(--good-bg);color:var(--good)}.last-lab{font-size:12px;color:var(--muted);white-space:nowrap}.grid2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.8fr);gap:14px;margin-top:14px}.stack{display:grid;gap:14px;align-content:start}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface2);font-size:12px}.chart-box{margin:12px 0 20px}.chart-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.chart-svg{display:block;width:100%;height:180px;background:#f3f1f6;border-radius:10px}.lab-block{padding:10px 0;border-bottom:1px solid var(--line)}.lab-date{font-weight:700;margin-bottom:5px}.lab-line{font-variant-numeric:tabular-nums}.lab-abn{font-weight:700;color:var(--bad)}.culture{padding:9px 0;border-bottom:1px solid var(--line)}.culture strong{display:block}.culture small{color:var(--muted)}.admin{margin:20px 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.section-title{display:flex;align-items:center}.small-list,.audit-list{font-size:12.5px;max-height:340px;overflow:auto;margin-top:10px}.small-row,.audit-row{padding:6px 0;border-top:1px solid var(--line)}.report-header{padding:16px 0;border-bottom:2px solid var(--text);margin-bottom:10px}.report-header h2{margin:0}.report-header p{color:var(--muted)}.report-patient{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0;break-inside:avoid}.report-patient h3{margin:0 0 3px;font-size:15px}.report-meta{color:var(--muted);font-size:12px;margin-bottom:7px}.report-lab{padding:3px 0;border-top:1px solid #e5e1e9;font-size:13px}.footer{color:var(--muted);font-size:12px;text-align:center;padding:30px 18px}
@media(max-width:850px){.grid2,.admin-grid{grid-template-columns:1fr}.last-lab{display:none}}@media(max-width:560px){.top-inner{align-items:flex-start;padding-top:10px;padding-bottom:10px}.patient-row{align-items:flex-start}.toolbar .btn{flex:1}.tags{max-width:120px}}
@media print{body{background:#fff;color:#000}.top,.no-print,#listView,#patientView,#adminPanel,.footer{display:none!important}.wrap{max-width:none;padding:0}.report-patient{background:#fff;border:none;border-bottom:1px solid #bbb;border-radius:0;box-shadow:none;margin:0;padding:7px 0}.report-header{padding-top:0}.report-lab{font-size:10.5pt}.tag{border:1px solid #777;background:#fff!important;color:#000!important}@page{size:A4 portrait;margin:11mm}}
.file-hidden{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.quick-import{display:inline-flex}.main-toolbar #search{min-width:320px}.user-manager{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}.user-form{display:grid;grid-template-columns:1.2fr .8fr 1.2fr .8fr 1.2fr auto;gap:10px;align-items:end}.user-form label{margin:0}.password-field{position:relative}.password-field .mini{margin-top:6px}.user-form-action{padding-bottom:0}.mini{padding:6px 9px;font-size:12px}.users-list{margin-top:14px;display:grid;gap:7px}.user-row{display:grid;grid-template-columns:minmax(250px,1fr) auto auto auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface2)}.user-row strong{display:block}.user-row small{display:block;color:var(--muted)}.user-status{font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 7px}.user-status.on{background:var(--good-bg);color:var(--good)}.user-status.off{background:var(--bad-bg);color:var(--bad)}
@media(max-width:1000px){.user-form{grid-template-columns:1fr 1fr}.user-form-action{grid-column:1/-1}.user-row{grid-template-columns:1fr auto}.user-row .btn{width:100%}}
@media(max-width:620px){.main-toolbar #search{min-width:100%;width:100%}.quick-import{width:100%}.quick-import label{width:100%;text-align:center}.user-form{grid-template-columns:1fr}.user-row{grid-template-columns:1fr}.user-status{justify-self:start}}

.version-badge{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;background:#e8e3f7;color:#5547a8;font-size:11px;font-weight:700;vertical-align:middle}
