@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-BJItruJi.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-C1SKuNhx.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-BPWuI_CM.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-CTUnhTqV.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-n6oPB5VF.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-DSasf_jt.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-B97dYap6.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-OKGpH0gQ.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-BHf956ki.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-CyDjbWPV.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CdZtFfYS.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-BU83cd9M.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cfrm0EKX.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DujcQJCN.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-D1zm99-P.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-BEypoZQd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-By04ZBDJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-BwBTeJfm.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-rpgY82Kd.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-V_-bWxzT.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DprGrCew.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-CgrnmiIU.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-BFLYOLbL.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-Dh0NORqx.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-jBHiQjEG.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-CJ5MtzOJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-DM9A4i1K.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BuRiwhxF.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-FZrtz_q-.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-BJUfoJTU.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DHNi5J5O.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-D03elqKW.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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-dAZVOL-H.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-bp4QDljZ.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-BGOKnPO6.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-ZykYOGKL.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-B3hZxag_.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-ZyMXPjaT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-DvQQgHTq.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CJUKFyLa.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BFiUPp6R.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DLynVohM.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-DxDDqVQb.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-uwM7KshN.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-Dm_PoFIZ.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-O6-GRVqx.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-6-AWF9yE.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-BZFL66GJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-DqTcxLwU.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-C8N-B5AP.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D7hk9wLv.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-BifMsNUA.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-5raxGPWx.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-C5zKQMXr.woff) format("woff");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-rgB1DpUr.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DeXYNBV7.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #140b0a;--bg-deep: #0e0706;--surface: #1d100e;--surface-2: #27150f;--surface-3: #321b14;--border: #3d211a;--border-strong: #5a2f22;--text: #ecdcd3;--text-dim: #c9b4a9;--muted: #a68e84;--primary: #a3381f;--primary-hover: #bd4527;--accent: #cf6a2c;--accent-2: #e08c4c;--ember: linear-gradient(90deg, #7a2414 0%, #a3381f 35%, #cf6a2c 70%, #e08c4c 100%);--ok: #8fb069;--warn: #e0a83e;--crit: #ff6a4d;--off: #8a7a73;--radius: 4px;--radius-lg: 8px;--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--sidebar: 228px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 85% -10%,rgba(163,56,31,.1),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(207,106,44,.06),transparent 60%),var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--accent-2);text-decoration:none}a:hover{color:var(--accent)}::selection{background:#cf6a2c59}code,.mono{font-family:var(--mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}.shell{display:flex;min-height:100%}.sidebar{width:var(--sidebar);flex:none;position:sticky;top:0;height:100vh;background:linear-gradient(180deg,var(--bg-deep),var(--surface));border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar:before{content:"";height:3px;background:var(--ember)}.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}.brand-mark{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border-strong);color:var(--accent);font:700 15px var(--mono)}.brand-name{font-weight:600;letter-spacing:.01em}.brand-host{font:11px var(--mono);color:var(--muted)}.nav{padding:6px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1}.nav-label{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:14px 10px 6px}.nav a,.nav .nav-soon{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius);color:var(--text-dim);border-left:2px solid transparent}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{background:linear-gradient(90deg,#a3381f47,#a3381f0a);color:var(--text);border-left-color:var(--accent)}.nav .nav-soon{color:#6e5a52;cursor:default}.nav .nav-soon small{margin-left:auto;font:10px var(--mono);color:#6e5a52}.sidebar-foot{padding:12px 14px;border-top:1px solid var(--border);font-size:12.5px}.sidebar-foot .who{display:flex;align-items:center;justify-content:space-between;gap:8px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:14px 28px;background:#140b0ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topbar h1{font-size:17px;font-weight:600;margin:0;letter-spacing:.01em}.topbar .sub{color:var(--muted);font-size:12.5px}.topbar .spacer{flex:1}.content{padding:24px 28px 48px;max-width:1500px;width:100%}.card{background:linear-gradient(180deg,var(--surface),rgba(29,16,14,.85));border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px}.card-title{display:flex;align-items:center;gap:8px;margin:0 0 12px;font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.card-title .right{margin-left:auto;text-transform:none;letter-spacing:0}.grid{display:grid;gap:14px}.grid.tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.grid.two{grid-template-columns:repeat(auto-fit,minmax(420px,1fr))}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.section-gap{height:18px}.muted{color:var(--muted)}.dim{color:var(--text-dim)}.small{font-size:12.5px}.tiny{font-size:11.5px}.right{margin-left:auto}.tile{position:relative;overflow:hidden}.tile .label{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.tile .value{font-size:26px;font-weight:600;margin-top:6px;font-variant-numeric:tabular-nums}.tile .value small{font-size:14px;color:var(--muted);font-weight:500}.tile .hint{font-size:12px;color:var(--text-dim);margin-top:4px;min-height:18px}.tile.is-crit{border-color:#ff6a4d8c;box-shadow:inset 0 0 0 1px #ff6a4d26}.tile.is-warn{border-color:#e0a83e80}.tile:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;opacity:.55;background:var(--ember)}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font:500 13px var(--sans);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-3);border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary-hover)}.btn.primary:hover:not(:disabled){background:var(--primary-hover)}.btn.danger{border-color:#ff6a4d80;color:#ffb3a3}.btn.danger:hover:not(:disabled){background:#ff6a4d1f;border-color:var(--crit)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn.ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border)}.btn.sm{padding:3px 8px;font-size:12px}.btn.icon{padding:4px 6px}input,select{background:var(--bg-deep);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 10px;font:14px var(--sans);outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #cf6a2c2e}input.code{font:600 22px var(--mono);letter-spacing:.35em;text-align:center;width:100%}label.field{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--text-dim)}.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;white-space:nowrap}.status svg{flex:none}.status.ok{color:var(--ok)}.status.warn{color:var(--warn)}.status.crit{color:var(--crit);font-weight:600}.status.off{color:var(--off)}.status.busy{color:var(--accent-2)}.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:99px;font:500 11px var(--mono);border:1px solid var(--border-strong);color:var(--text-dim);background:var(--surface-2);white-space:nowrap}.badge.accent{border-color:#cf6a2c8c;color:var(--accent-2)}.badge.crit{border-color:#ff6a4d99;color:var(--crit)}.badge.warn{border-color:#e0a83e8c;color:var(--warn)}.badge.ok{border-color:#8fb06980;color:var(--ok)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.meter{height:8px;border-radius:99px;background:var(--bg-deep);border:1px solid var(--border);overflow:hidden}.meter>span{display:block;height:100%;background:var(--ember);border-radius:99px;transition:width .4s}.meter.warn>span{background:linear-gradient(90deg,#a3381f,var(--warn))}.meter.crit>span{background:linear-gradient(90deg,#a3381f,var(--crit))}.meter.lg{height:12px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg)}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:9px 12px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;white-space:nowrap}table.t td{padding:8px 12px;border-bottom:1px solid rgba(61,33,26,.6);vertical-align:middle}table.t tr:last-child td{border-bottom:none}table.t tbody tr:hover{background:#321b1473}table.t tr.group td{background:linear-gradient(90deg,rgba(163,56,31,.16),transparent 70%);font-weight:600;padding-top:10px;padding-bottom:10px}table.t td.actions{text-align:right;white-space:nowrap}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:16px}.tabs button{background:none;border:none;color:var(--muted);font:500 13.5px var(--sans);padding:9px 14px;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.tabs button:hover{color:var(--text)}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.toolbar input[type=search]{min-width:260px}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080403b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:grid;place-items:center;padding:20px}.modal{width:min(480px,100%);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 30px 80px #0009;overflow:hidden}.modal:before{content:"";display:block;height:3px;background:var(--ember)}.modal-body{padding:20px 22px}.modal h3{margin:0 0 8px;font-size:16px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 22px 18px}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(860px,96vw);z-index:40;background:var(--bg-deep);border-left:1px solid var(--border-strong);display:flex;flex-direction:column;box-shadow:-30px 0 80px #00000080}.drawer-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.drawer-head h3{margin:0;font-size:15px}.logbox{flex:1;overflow:auto;margin:0;padding:14px 18px;font:12px/1.55 var(--mono);color:#d9c7bd;white-space:pre-wrap;word-break:break-all}.logbox .ts{color:#7d675e}.toasts{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;gap:10px;width:min(420px,calc(100vw - 40px))}.toast{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:12px 14px;box-shadow:0 16px 40px #00000080}.toast pre{max-height:140px;overflow:auto;margin:8px 0 0;font:11.5px/1.45 var(--mono);color:var(--text-dim);white-space:pre-wrap}.callout{border:1px solid var(--border-strong);border-left:3px solid var(--accent);background:var(--surface-2);border-radius:var(--radius);padding:10px 12px;font-size:13px}.callout.crit{border-left-color:var(--crit)}.callout.warn{border-left-color:var(--warn)}.kv{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0}.empty{padding:30px;text-align:center;color:var(--muted)}.login-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.login{width:min(380px,100%)}.login .card{padding:28px 26px}.login h2{margin:0 0 4px;font-size:20px}.login form{display:flex;flex-direction:column;gap:14px;margin-top:18px}.err{color:var(--crit);font-size:13px;min-height:18px}@media (max-width: 900px){.sidebar{display:none}.content{padding:16px}.grid.two{grid-template-columns:1fr}}
