@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f2f6f8;--bg-2: #ffffff;--bg-3: #ecf1f4;--border: #d8dde1;--text: #1a1b1b;--text-dim: #8c9195;--accent: #0c6d83;--accent-2: #80e8cc;--ok: #2a8200;--bad: #c82a29;--warn: #c27f00;--radius: 8px;--radius-sm: 6px;--shadow: 0 2px 7px rgba(26, 27, 27, .06);--shadow-md: 0 3px 12px rgba(26, 27, 27, .1);--side-bg: #0c6d83;--side-text: #e8eff2;--side-border: rgba(255, 255, 255, .14);--side-active: rgba(255, 255, 255, .16);--side-hover: rgba(255, 255, 255, .08)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter Variable,Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:14px}a{color:var(--accent);text-decoration:none}button{font:inherit;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--bg-3);color:var(--text);padding:9px 16px;border-radius:var(--radius);transition:background .15s,border-color .15s,box-shadow .15s}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}button.primary:hover:not(:disabled){background:#156275;border-color:#156275;box-shadow:var(--shadow)}button.danger{border-color:var(--bad);color:var(--bad)}button.danger:hover:not(:disabled){background:#fbeae8}button.sm{padding:5px 11px;font-size:12px;border-radius:var(--radius-sm)}input,select{font:inherit;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;width:100%;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--text-dim)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0c6d8326}input:disabled,select:disabled{background:var(--bg-3);color:var(--text-dim);cursor:default}label{display:block;font-size:12px;color:var(--text-dim);margin:0 0 4px}table{width:100%;border-collapse:collapse}.table-wrap{overflow-x:auto}th{text-align:left;font-size:11px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:12px 14px;background:var(--bg-3);border-bottom:1px solid var(--border)}td{padding:13px 14px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-3)}.app{display:flex;height:100%}.sidebar{width:232px;background:var(--side-bg);color:var(--side-text);border-right:1px solid var(--side-border);display:flex;flex-direction:column;flex-shrink:0}.brand{padding:18px 20px;font-weight:700;font-size:16px;color:#fff;border-bottom:1px solid var(--side-border);display:flex;align-items:center;gap:8px}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent-2)}.nav{padding:10px;display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav-area{margin-bottom:12px}.nav-area-title{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--side-text);padding:8px 12px 4px;opacity:.55}.nav a{padding:9px 12px;border-radius:6px;color:var(--side-text);display:flex;gap:9px;align-items:center}.nav a:hover{background:var(--side-hover);color:#fff}.nav a.active{background:var(--side-active);color:#fff}.userbox{padding:14px 16px;border-top:1px solid var(--side-border);font-size:12px;color:var(--side-text)}.userbox a{color:var(--accent-2)}.main{flex:1;overflow:auto}.topbar{padding:16px 28px;border-bottom:1px solid var(--border);background:var(--bg-2);display:flex;justify-content:space-between;align-items:center}.topbar h1{font-size:18px;margin:0}.content{padding:24px 28px;max-width:1100px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card .k{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.card .v{font-size:20px;font-weight:700;margin-top:6px}.panel{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.panel h2{font-size:15px;margin:0 0 14px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.row>div{flex:1;min-width:120px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:#fff}.pill .dot{width:8px;height:8px;border-radius:50%}.pill.ok .dot{background:var(--ok)}.pill.ok{color:var(--ok);border-color:#bfe3d2;background:#eafaf3}.pill.bad .dot{background:var(--bad)}.pill.bad{color:var(--bad);border-color:#f1c8c4;background:#fdecea}.pill.warn .dot{background:var(--warn)}.pill.warn{color:var(--warn);border-color:#ecd9ab;background:#fbf3e2}.pill.muted{color:var(--text-dim)}.bar{height:6px;background:var(--bg-3);border-radius:3px;overflow:hidden;min-width:90px}.bar>div{height:100%;background:linear-gradient(90deg,#0c6d83,#80e8cc);transition:width .4s}.err{background:#fdecea;border:1px solid #f1c8c4;color:#b3261e;padding:10px 14px;border-radius:6px;margin-bottom:14px}.empty{color:var(--text-dim);padding:24px;text-align:center}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.login-wrap{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0e111b,#0c6d83)}.login-card{width:340px;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;padding:30px;box-shadow:0 12px 32px #1a1b1b40}.login-card h1{font-size:18px;margin:0 0 4px}.login-card p{color:var(--text-dim);margin:0 0 22px;font-size:13px}.login-card label{margin-top:14px}.login-card button{width:100%;margin-top:22px}.swatch{width:26px;height:26px;border-radius:5px;border:1px solid var(--border);padding:0}.color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.color-item{display:flex;gap:10px;align-items:center;background:var(--bg-3);padding:6px 10px;border-radius:6px}.color-item .name{flex:1;font-size:13px}.dropdown{position:relative;display:inline-block}.dropdown>summary{list-style:none;cursor:pointer;padding:5px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;background:var(--bg-3);-webkit-user-select:none;user-select:none}.dropdown>summary::-webkit-details-marker{display:none}.dropdown[open]>summary{border-color:var(--accent)}.dropdown .menu{position:fixed;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:50;min-width:190px;padding:6px;display:flex;flex-direction:column;gap:1px}.dropdown .menu button,.dropdown .menu a{text-align:left;width:100%;border:none;background:none;font-weight:500;padding:9px 12px;border-radius:var(--radius-sm);font-size:13px;color:var(--text);cursor:pointer}.dropdown .menu button:hover,.dropdown .menu a:hover{background:var(--bg-3);border-color:transparent}.dropdown .menu button.danger{color:var(--bad)}.dropdown .menu .sep{height:1px;background:var(--border);margin:4px 0}.tree-patient td{background:var(--bg-3);font-weight:600;cursor:pointer}.tree-patient td:hover{background:#e2eb0e00}.tree-caret{display:inline-block;width:14px;color:var(--text-dim)}.tree-tag{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:4px;border:1px solid var(--border);color:var(--text-dim);margin-left:6px}.tree-tag.custom{color:var(--accent);border-color:#b9dbe4;background:#eaf5f8}
