@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");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}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff) format("woff");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}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");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: #f6f8fb;--panel: #ffffff;--panel2: #eef2f7;--border: #e2e8f0;--text: #0f172a;--text2: #64748b;--text3: #94a3b8;--green: #16a34a;--yellow: #f59e0b;--orange: #ea580c;--red: #dc2626;--accent: #0f766e;--accent2: #2563eb;--shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 4px 14px rgba(15, 23, 42, .04);--font-display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-body: "Inter", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}.link{color:var(--accent);font-weight:500}.link:hover{text-decoration:underline}h1,h2,h3,h4,.stat-value,.auth-logo{font-family:var(--font-display)}.layout{display:flex;min-height:100vh}.sidebar{width:228px;flex-shrink:0;background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-right:1px solid var(--border);padding:22px 12px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.sidebar h1{font-size:19px;letter-spacing:-.02em;margin:0 10px 22px;color:var(--text)}.sidebar h1 span{color:var(--accent)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:9px;padding:9px 12px;border-radius:8px;color:var(--text2);font-weight:500;border:none;background:none;font-family:var(--font-body);font-size:14px;cursor:pointer;width:100%;text-align:left}.nav-link:hover{background:var(--panel2);color:var(--text)}.nav-link.active{background:#0f766e1a;color:var(--accent)}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:2px}.logout-btn:hover{color:var(--red);background:#dc262612}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main{flex:1;padding:26px 34px 48px;min-width:0}h2{font-size:22px;letter-spacing:-.02em;margin:0 0 6px}h3{font-size:15px;margin:26px 0 10px}.subtitle{color:var(--text3);margin:0 0 20px;font-size:13px}.grid{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3,.grid-2{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px 18px;box-shadow:var(--shadow)}.card h4{margin:0 0 6px;font-size:14px}.kpi-card{cursor:pointer;position:relative;transition:border-color .15s,transform .15s}.kpi-card:hover{border-color:var(--accent);transform:translateY(-1px)}.kpi-card .kpi-arrow{position:absolute;right:12px;top:12px;color:var(--text3);opacity:0;transition:opacity .15s}.kpi-card:hover .kpi-arrow{opacity:1;color:var(--accent)}.stat-value{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.stat-label{color:var(--text2);font-size:12px;margin-top:2px}.zone-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;flex-shrink:0}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent;white-space:nowrap}.muted{color:var(--text2)}.small{font-size:12px}.tiny{color:var(--text3);font-size:11px}.num{font-variant-numeric:tabular-nums}.lo{color:var(--yellow)}.hi{color:var(--red)}.ok{color:var(--green)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text3);font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}tr:hover td{background:#0f766e06}tr.clickable{cursor:pointer}.table-card{padding:6px 10px}@media (max-width: 1100px){.table-card{overflow-x:auto}}.params-table td{vertical-align:middle}.flag{border-left:3px solid var(--border);padding:13px 16px;background:var(--panel);border-top:1px solid var(--border);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-radius:0 10px 10px 0;margin-bottom:10px;box-shadow:var(--shadow)}.flag-danger{border-left-color:var(--red)}.flag-warning{border-left-color:var(--orange)}.flag-info{border-left-color:var(--accent2)}.flag h4{margin:0 0 4px}.flag .section{margin-top:8px}.flag .section b{color:var(--text2);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.protocol-table{margin-top:7px;font-size:12.5px}.protocol-table th,.protocol-table td{padding:6px 10px 6px 0}.protocol-table td b{color:var(--text);font-size:12.5px;text-transform:none;letter-spacing:0}.protocol-table tr:last-child td{border-bottom:none}.filter-bar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin:12px 0}.pill-row{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.filter-bar .pill-row{margin:0}.pill-row.right{justify-content:flex-end;align-items:center}.filter-pill{padding:5px 13px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text2);cursor:pointer;font-size:12px;font-family:var(--font-body);display:inline-flex;align-items:center}.filter-pill:hover{color:var(--text);border-color:var(--text3)}.filter-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.zone-pill.active .zone-dot{background:#fff!important}.view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-left:8px;background:var(--panel)}.view-btn{border:none;background:none;padding:6px 9px;cursor:pointer;color:var(--text3);display:inline-flex;align-items:center}.view-btn:hover{color:var(--text)}.view-btn.active{background:#0f766e1f;color:var(--accent)}.spark-card{cursor:pointer;transition:border-color .15s}.spark-card:hover{border-color:var(--accent)}.chart-card{cursor:pointer;transition:border-color .15s,transform .15s}.chart-card:hover{border-color:var(--accent);transform:translateY(-1px)}.chart-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;min-height:42px}.chart-card-title{min-width:0}.chart-card-title-row{display:flex;align-items:center;gap:6px;min-width:0}.chart-card-title-row h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.chart-card-sub{margin-top:2px}.chart-card-stats{display:flex;align-items:center;gap:8px;flex-shrink:0}.back-btn{padding:7px 15px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text2);cursor:pointer;font-size:12px;font-family:var(--font-body);box-shadow:var(--shadow)}.back-btn:hover{color:var(--accent);border-color:var(--accent)}.info-pop{position:relative;display:inline-flex;flex-shrink:0}.info-icon{color:var(--text3);cursor:help}.info-pop:hover .info-icon{color:var(--accent)}.info-popover{display:none;position:absolute;z-index:40;top:22px;left:-10px;width:340px;background:#fffffff7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px #102a4329;padding:12px 14px;font-size:12px;line-height:1.5;color:var(--text2);white-space:normal;cursor:default}.info-pop:hover .info-popover{display:block}.info-pop.pop-right .info-popover{left:auto;right:-6px}.info-popover>b{color:var(--text);display:block;margin-bottom:4px;font-size:13px}.info-popover .info-section{display:block;margin-top:6px}details.supp{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;box-shadow:var(--shadow)}details.supp summary{padding:11px 16px;cursor:pointer;display:flex;align-items:center;gap:10px;list-style:none}details.supp summary::-webkit-details-marker{display:none}details.supp .body{padding:12px 16px 14px;border-top:1px solid var(--border)}.schedule-grid{display:grid;grid-template-columns:90px repeat(7,1fr);gap:6px;font-size:12px}.schedule-grid .head{color:var(--text3);font-size:11px;text-transform:uppercase;padding:4px}.schedule-cell{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:6px 8px;min-height:40px}.schedule-item{display:flex;align-items:baseline;gap:5px;padding:1px 0}.schedule-item .dose{color:var(--text3);font-size:10px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text2);font-size:12px;font-family:var(--font-body);cursor:pointer;transition:border-color .12s,background .12s,color .12s}.chip:hover{border-color:var(--text3);color:var(--text)}.chip.selected{background:#0f766e14;border-color:var(--accent);color:var(--accent);font-weight:600}.param-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}.param-pick{display:flex;flex-direction:column;gap:3px;text-align:left;padding:9px 11px;border-radius:10px;border:1px solid var(--border);background:var(--panel);font-family:var(--font-body);font-size:12px;color:var(--text2);cursor:pointer;transition:border-color .12s,background .12s}.param-pick:hover{border-color:var(--text3)}.param-pick.selected{background:#0f766e12;border-color:var(--accent)}.param-pick-head{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--text)}.param-pick-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.45;min-height:2.9em}.param-pick-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:99px;background:#16a34a1f;color:var(--green);font-size:10px;font-weight:600}.param-pick-toggle{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--text3);border-radius:5px;background:var(--panel);color:#fff;cursor:pointer;padding:0;transition:border-color .12s,background .12s}.param-pick-toggle:hover{border-color:var(--accent)}.param-pick-toggle.on{background:var(--accent);border-color:var(--accent)}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#102a4352;z-index:60}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(440px,94vw);background:var(--panel);border-left:1px solid var(--border);box-shadow:-12px 0 40px #102a432e;padding:20px 22px 28px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;z-index:61;animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.drawer-ranges{display:flex;flex-direction:column;gap:4px;background:var(--panel2);border-radius:10px;padding:10px 12px}.drawer-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;color:var(--text3);margin-bottom:3px}.chip.draggable{cursor:grab;-webkit-user-select:none;user-select:none}.chip.draggable:active{cursor:grabbing}.palette{display:flex;flex-wrap:wrap;gap:7px;padding:10px;border:1px dashed var(--border);border-radius:10px;background:var(--panel2)}.schedule-cell.droppable{transition:border-color .1s,background .1s}.schedule-cell.drag-over{border-color:var(--accent);background:#0f766e0f}.sched-entry{position:relative;border-radius:6px;padding:2px 18px 2px 4px;cursor:grab}.sched-entry:active{cursor:grabbing}.sched-entry:hover{background:var(--panel2)}.sched-name{cursor:pointer}.sched-name:hover{color:var(--accent);text-decoration:underline dotted}.entry-x{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:4px;background:transparent;color:var(--text3);cursor:pointer;padding:0}.sched-entry:hover .entry-x{display:inline-flex}.entry-x:hover{color:var(--red);background:#dc262614}.condition-legend{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text2);margin-right:14px}.condition-card{display:flex;flex-direction:column}.condition-head{display:flex;align-items:center;gap:8px}.condition-head h4{margin:0}.condition-markers{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.workup-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#2563eb;background:#2563eb14;border-radius:6px;padding:2px 7px;margin-top:6px;align-self:flex-start}.condition-recs{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.condition-recs li{display:flex;align-items:baseline;gap:7px;font-size:12px;color:var(--text2)}.rec-kind{flex-shrink:0;font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--text2);border:1px solid var(--border);border-radius:5px;padding:1px 5px}.marker-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text2);font-size:12px;font-family:var(--font-body);cursor:pointer;transition:border-color .12s,color .12s}.marker-chip:hover:not(.absent){border-color:var(--accent);color:var(--text)}.marker-chip.absent{opacity:.5;cursor:default}.marker-chip.primary{border-width:2px;font-weight:600}.marker-chip .marker-val{color:var(--text);font-weight:600}.range-wrap{min-width:160px;max-width:260px}.range-bar{position:relative;height:16px}.rb-track{position:absolute;top:50%;left:0;right:0;height:4px;border-radius:999px;transform:translateY(-50%);opacity:.85}.rb-tick{position:absolute;top:1px;bottom:1px;width:2px;border-radius:1px;background:#51637a;transform:translate(-50%)}.rb-dot{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;border:2px solid #fff;transform:translate(-50%,-50%)}.upload-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.status-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}.ai-card{border-left:3px solid var(--accent)}.ai-content{margin-top:12px;padding:12px 14px;background:var(--panel2);border:1px solid var(--border);border-radius:10px;white-space:pre-wrap;font-size:13px;line-height:1.6}.ai-content.collapsed{max-height:130px;overflow:hidden;cursor:pointer;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}.ai-toggle{margin-top:6px;border:none;background:none;padding:0;font-size:12px;cursor:pointer}.ai-running{display:flex;align-items:center;gap:9px;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);font-size:13px;color:var(--text2)}.spinner{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#102a4352;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal{background:var(--panel);border-radius:14px;border:1px solid var(--border);box-shadow:0 12px 40px #102a4338;padding:18px 20px;max-width:440px;width:100%}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.modal-actions .btn-primary{margin-top:0}.btn-secondary{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:9px;border:1px solid var(--border);background:var(--panel);color:var(--text2);font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer}.btn-secondary:hover{border-color:var(--text3);color:var(--text)}.phase{margin-bottom:22px}.phase h3{margin-top:0;color:var(--accent)}.action{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.action .num{width:24px;height:24px;border-radius:50%;background:var(--panel2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;color:var(--text2)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 16px 48px #102a431f;padding:30px 28px}.auth-logo{font-size:24px;margin:0 0 4px;letter-spacing:-.02em}.auth-logo span{color:var(--accent)}.field{display:flex;flex-direction:column;gap:4px;margin-top:12px;font-size:12px}.field>span{color:var(--text2);font-weight:500}input,select{font-family:var(--font-body);font-size:13px;color:var(--text);background:#fbfdfe;border:1px solid var(--border);border-radius:8px;padding:8px 10px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e1f}input:disabled{background:var(--panel2);color:var(--text3)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;padding:9px 16px;width:auto;border:none;border-radius:9px;background:var(--accent);color:#fff;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0f766e4d}.auth-card .btn-primary{width:100%}.btn-primary:hover{filter:brightness(1.07)}.btn-primary:disabled{opacity:.6;cursor:default}.form-error{margin-top:12px;color:var(--red);background:#dc262612;border:1px solid rgba(220,38,38,.25);border-radius:8px;padding:8px 10px;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:4px 14px}@media (max-width: 900px){.form-grid{grid-template-columns:1fr 1fr}}.check-row{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px}.check{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text2);cursor:pointer}.check input{accent-color:var(--accent);width:15px;height:15px}.add-result{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;background:var(--panel2);border:1px dashed var(--border);border-radius:10px}.add-result .btn-primary{margin-top:0;padding:8px 14px}.row-actions{display:inline-flex;gap:4px}.icon-btn{border:1px solid var(--border);background:var(--panel);border-radius:7px;padding:5px 7px;cursor:pointer;color:var(--text2);display:inline-flex;align-items:center}.icon-btn:hover{border-color:var(--text3);color:var(--text)}.icon-btn.hi:hover{border-color:var(--red);color:var(--red)}.icon-btn.ok:hover{border-color:var(--green);color:var(--green)}.loading{color:var(--text3);padding:40px;text-align:center}.error{color:var(--red);padding:20px}.legend{display:flex;gap:14px;flex-wrap:wrap;margin:8px 0 0;font-size:11px;color:var(--text2)}.legend span{display:flex;align-items:center}.brand{display:flex;align-items:center;gap:9px;margin:0 10px 22px}.brand-mark{width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px #0f766e59}.brand-name{font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.brand-name span{color:var(--accent)}.brand-sub{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--text3)}.nav-link{position:relative}.nav-link.active:before{content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.topbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:18px}.mode-switch{display:inline-flex;border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:3px;gap:2px;box-shadow:var(--shadow)}.mode-btn{border:none;background:none;font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--text2);padding:6px 14px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.mode-btn:hover{color:var(--text)}.mode-btn.active{background:var(--accent);color:#fff}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:3px;gap:2px}.segment-btn{border:none;background:none;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text2);padding:5px 12px;border-radius:7px;cursor:pointer;white-space:nowrap}.segment-btn:hover{color:var(--text)}.segment-btn.active{background:var(--panel2);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.segment-btn.active.seg-attention{background:#dc262614;color:var(--red);box-shadow:inset 0 0 0 1px #dc26264d}.segment-btn.active.seg-edge{background:#f59e0b1a;color:#b45309;box-shadow:inset 0 0 0 1px #f59e0b59}.segment-btn.active.seg-optimal{background:#16a34a14;color:var(--green);box-shadow:inset 0 0 0 1px #16a34a4d}.status-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;padding:14px 18px;margin-bottom:14px}.status-strip-headline{font-family:var(--font-display);font-size:16px;font-weight:600;display:flex;align-items:center;gap:9px}.status-counts{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--text2);align-items:center}.status-count{display:inline-flex;align-items:center;gap:6px}.status-count b{color:var(--text);font-variant-numeric:tabular-nums}.next-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}@media (max-width: 1280px){.next-steps{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.next-steps{grid-template-columns:1fr}}.step-card{display:flex;flex-direction:column;gap:7px;padding:14px 15px}.step-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.step-num{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.step-card h4{margin:0;font-size:13px;line-height:1.35}.step-deadline{font-size:11.5px;font-weight:600;color:var(--accent)}.single-reading{display:flex;flex-direction:column;gap:8px;padding:6px 0 2px}.single-reading .reading-value{font-family:var(--font-display);font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.single-reading .reading-unit{font-size:13px;color:var(--text2);font-weight:500}.reading-deviation{font-size:12px;color:var(--text2)}.screenings-card{padding:0;overflow:hidden}.screenings-card table{font-size:13px}.screenings-card th{position:sticky;top:0;background:var(--panel);z-index:2;box-shadow:inset 0 -1px 0 var(--border)}.screenings-card td{line-height:1.6;padding:12px}.screenings-card th{padding:11px 12px}.screenings-scroll{max-height:640px;overflow:auto}tr.row-now td{background:#dc262609}tr.row-now:hover td{background:#dc26260f}.th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sort:hover{color:var(--text)}.exec-status-select{font-size:11.5px;padding:4px 7px;border-radius:7px;max-width:140px}details.interp{margin-top:9px;border-top:1px dashed var(--border);padding-top:7px}details.interp summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--accent);list-style:none;display:flex;align-items:center;gap:5px}details.interp summary::-webkit-details-marker{display:none}details.interp .interp-body{margin-top:7px;font-size:12.5px;line-height:1.55;color:var(--text2);background:var(--panel2);border-radius:8px;padding:9px 11px}.report-paper{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:28px 34px;max-width:860px;white-space:pre-wrap;font-size:13.5px;line-height:1.65}@media print{.sidebar,.topbar,.no-print{display:none!important}.main{padding:0}body{background:#fff}.report-paper{border:none;box-shadow:none;padding:0;max-width:none}}
