@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: #f7f8fa;--bg-panel: #ffffff;--bg-inset: #f1f3f6;--bg-hover: #f5f6f8;--bg-active: #eef0f4;--border: #e6e8ec;--border-strong: #d5d9e0;--text: #14181f;--text-secondary: #3f4650;--text-dim: #697180;--text-faint: #9aa1ad;--accent: #4f46e5;--accent-hover: #4338ca;--accent-text: #ffffff;--accent-soft: #eef1fe;--accent-soft-text: #4038c7;--ring: rgba(79, 70, 229, .22);--danger: #d92d20;--danger-strong: #b42318;--danger-bg: #fef3f2;--danger-border: #fecdca;--warn: #b54708;--warn-bg: #fffaeb;--warn-border: #fedf89;--ok: #067647;--ok-bg: #ecfdf3;--ok-border: #abefc6;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .07), 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 4px 12px rgba(16, 24, 40, .1), 0 2px 4px rgba(16, 24, 40, .05);--shadow-lg: 0 20px 48px rgba(16, 24, 40, .18), 0 8px 16px rgba(16, 24, 40, .08);--sidebar-w: 244px;--topbar-h: 56px;--font: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;color-scheme:light}html[data-theme=dark]{--bg: #0e1116;--bg-panel: #161a21;--bg-inset: #1d222b;--bg-hover: #1b2029;--bg-active: #222834;--border: #262c36;--border-strong: #343c49;--text: #e8ebf0;--text-secondary: #c2c9d4;--text-dim: #8b95a5;--text-faint: #626c7c;--accent: #6366f1;--accent-hover: #7c80f4;--accent-text: #ffffff;--accent-soft: rgba(99, 102, 241, .16);--accent-soft-text: #a5a8fb;--ring: rgba(99, 102, 241, .35);--danger: #f97066;--danger-strong: #fda29b;--danger-bg: rgba(240, 68, 56, .12);--danger-border: rgba(240, 68, 56, .35);--warn: #fdb022;--warn-bg: rgba(247, 144, 9, .12);--warn-border: rgba(247, 144, 9, .35);--ok: #47cd89;--ok-bg: rgba(23, 178, 106, .12);--ok-border: rgba(23, 178, 106, .35);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .55), 0 8px 16px rgba(0, 0, 0, .35);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.55;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0 0 .5rem;font-weight:600;letter-spacing:-.01em}h1{font-size:1.3rem}h2{font-size:1rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{background:var(--bg-inset);border:1px solid var(--border);padding:.08em .35em;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.88em}::selection{background:var(--accent-soft);color:var(--text)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border);padding:.9rem .7rem 1rem;display:flex;flex-direction:column;gap:1px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:.6rem;padding:.25rem .55rem .9rem;font-size:1.05rem;font-weight:650;letter-spacing:-.01em;color:var(--text)}.logo-mark{width:28px;height:28px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;font-size:.95rem;font-weight:700;box-shadow:var(--shadow-xs)}.nav-area{margin:.9rem 0 .25rem;padding:0 .6rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.nav-link{display:flex;align-items:center;gap:.6rem;padding:.42rem .6rem;border-radius:var(--radius);color:var(--text-secondary);font-size:.855rem;font-weight:500;line-height:1.35}.nav-link .nav-icon{flex-shrink:0;color:var(--text-faint)}.nav-link:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.nav-link:hover .nav-icon{color:var(--text-dim)}.nav-link.active{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:600}.nav-link.active .nav-icon{color:var(--accent-soft-text)}.nav-foot{margin-top:auto;padding-top:.75rem}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;gap:.75rem;height:var(--topbar-h);padding:0 1.25rem;background:var(--bg-panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar .search{flex:1;max-width:400px;position:relative}.topbar .search .search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none;display:flex}.topbar .search input{padding-left:2.1rem;background:var(--bg-inset);border-color:transparent;height:34px}.topbar .search input:hover{border-color:var(--border-strong)}.topbar .search input:focus{background:var(--bg-panel)}.topbar .spacer{flex:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius);border:1px solid transparent;background:none;color:var(--text-dim);cursor:pointer}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.user-menu{position:relative}.user-chip{display:inline-flex;align-items:center;gap:.55rem;padding:.25rem .6rem .25rem .3rem;border-radius:99px;border:1px solid transparent;background:none;color:var(--text-secondary);font:inherit;font-size:.85rem;cursor:pointer}.user-chip:hover{background:var(--bg-hover)}.user-chip .caret{color:var(--text-faint);display:flex}.avatar{width:28px;height:28px;border-radius:99px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-soft-text);font-size:.72rem;font-weight:650;letter-spacing:.02em;flex-shrink:0}.menu{position:absolute;right:0;top:calc(100% + 6px);min-width:210px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:.35rem;z-index:60}.menu .menu-head{padding:.45rem .65rem .5rem;border-bottom:1px solid var(--border);margin-bottom:.35rem}.menu .menu-head .who{font-weight:600;font-size:.85rem}.menu .menu-head .role{color:var(--text-dim);font-size:.75rem}.menu-item{display:flex;width:100%;align-items:center;gap:.55rem;padding:.45rem .65rem;border:none;border-radius:var(--radius);background:none;color:var(--text-secondary);font:inherit;font-size:.85rem;text-align:left;cursor:pointer}.menu-item:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-bg)}.menu-sep{height:1px;background:var(--border);margin:.35rem 0}.content{padding:1.5rem 2rem 3rem;max-width:1280px;width:100%;margin:0 auto}.breadcrumbs{font-size:.78rem;color:var(--text-dim);margin-bottom:.9rem}.breadcrumbs a{color:var(--text-dim)}.breadcrumbs a:hover{color:var(--text);text-decoration:none}.breadcrumbs .sep{margin:0 .45rem;color:var(--text-faint)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.page-head.end{justify-content:flex-end}.page-head .sub{color:var(--text-dim);font-size:.85rem;margin-top:.1rem}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:1.15rem 1.3rem;margin-bottom:1rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem}.stat{padding:1rem 1.2rem;margin-bottom:0}.stat .label{color:var(--text-dim);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat .value{font-size:1.7rem;font-weight:650;letter-spacing:-.02em;margin-top:.2rem;overflow-wrap:anywhere}.stat .value.sm{font-size:1.15rem;padding:.35rem 0 .15rem}.stat .value.ok{color:var(--ok)}.stat .sub{font-size:.78rem;margin-top:.1rem}a.stat-link{display:block;color:inherit}a.stat-link:hover{text-decoration:none;border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.meter{height:4px;border-radius:99px;background:var(--bg-inset);margin-top:.65rem;overflow:hidden}.meter i{display:block;height:100%;border-radius:99px}.banner{border-radius:var(--radius);padding:.7rem 1rem;margin-bottom:1rem;border:1px solid;font-size:.875rem}.banner.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-strong)}.banner.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.banner.ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok)}.field{margin-bottom:.95rem}.field label{display:block;font-weight:550;font-size:.83rem;margin-bottom:.35rem;color:var(--text-secondary)}.field .help{font-size:.78rem;color:var(--text-dim);margin-top:.3rem}.field .err{font-size:.78rem;color:var(--danger);margin-top:.3rem}input:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],select{width:100%;padding:.48rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);color:var(--text);font:inherit;font-size:.875rem;transition:border-color .1s,box-shadow .1s}input::placeholder{color:var(--text-faint)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}.checkline{display:flex;align-items:center;gap:.5rem;margin:.35rem 0;font-size:.875rem}.checkline input{width:auto;accent-color:var(--accent)}textarea{width:100%;padding:.55rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-panel);color:var(--text);font:inherit;font-size:.875rem;resize:vertical;transition:border-color .1s,box-shadow .1s}textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}textarea.sql{font-family:var(--font-mono);font-size:.83rem;min-height:120px;line-height:1.6}.null-cell{color:var(--text-faint);font-style:italic}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.46rem .85rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-panel);color:var(--text-secondary);font:inherit;font-size:.855rem;font-weight:550;cursor:pointer;box-shadow:var(--shadow-xs);transition:background .1s,border-color .1s}.btn:hover{background:var(--bg-hover);color:var(--text)}.btn:active{background:var(--bg-active)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){background:var(--danger-strong);border-color:var(--danger-strong)}html[data-theme=dark] .btn.danger{background:#d92d20;border-color:#d92d20}html[data-theme=dark] .btn.danger:hover:not(:disabled){background:#b42318}.btn.small{padding:.26rem .6rem;font-size:.8rem}.btn.link{border:none;background:none;box-shadow:none;color:var(--accent);padding:.25rem .35rem}.btn.link:hover{background:var(--accent-soft);color:var(--accent-soft-text)}.actions-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.table-wrap{overflow-x:auto;margin:0 -1.3rem;padding:0 1.3rem}table.data{width:100%;border-collapse:collapse}table.data th{text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:.5rem .75rem;border-bottom:1px solid var(--border);white-space:nowrap}table.data td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle;font-size:.865rem}table.data tr:last-child td{border-bottom:none}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:var(--bg-hover)}table.data td:first-child a{font-weight:550}.pager{display:flex;align-items:center;gap:.75rem;margin-top:.9rem;font-size:.8rem;color:var(--text-dim)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.12rem .6rem;border-radius:99px;font-size:.73rem;font-weight:600;border:1px solid transparent;white-space:nowrap}.badge.ok:before,.badge.danger:before,.badge.warn:before,.badge.dim:before{content:"";width:6px;height:6px;border-radius:99px;background:currentColor;flex-shrink:0}.badge.ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.badge.danger{background:var(--danger-bg);color:var(--danger-strong);border-color:var(--danger-border)}.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.badge.dim{background:var(--bg-inset);color:var(--text-dim);border-color:var(--border)}.modal-backdrop{position:fixed;inset:0;background:#0a0d1273;backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:9vh 1rem 1rem;z-index:50}.modal{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;padding:1.2rem 1.4rem 1.3rem;max-height:84vh;overflow-y:auto;animation:modal-in .14s ease-out}.modal.wide{max-width:660px}.form-sect{margin:1.15rem 0 .7rem;padding-top:.9rem;border-top:1px solid var(--border);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin:1rem 0 1.1rem;overflow-x:auto}.tab{appearance:none;border:none;background:none;padding:.5rem .7rem;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--text-dim);font:inherit;font-size:.85rem;font-weight:550;white-space:nowrap;cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab .count{display:inline-block;min-width:1.15rem;margin-left:.4rem;padding:0 .3rem;border-radius:99px;background:var(--accent-soft);color:var(--accent-soft-text);font-size:.68rem;font-weight:650;text-align:center}.tab .err-dot{display:inline-block;width:6px;height:6px;border-radius:99px;background:var(--danger);margin-left:.4rem;vertical-align:2px}.tab-panel{min-height:158px}@keyframes modal-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.modal-head h2{margin:0;font-size:1.02rem}.modal .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.2rem}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(600px 300px at 50% -50px,var(--accent-soft),transparent 70%),var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-md);padding:2rem}.auth-card .brand{justify-content:center;padding:0 0 1.4rem;font-size:1.2rem}.auth-links{margin-top:1rem;text-align:center;font-size:.83rem}.qr-box{display:flex;justify-content:center;margin:1rem 0}.qr-box img,.qr-box svg{background:#fff;padding:8px;border-radius:10px;border:1px solid var(--border)}.code-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;font-family:var(--font-mono);font-size:.85rem;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;margin:.75rem 0}.copy-row{display:flex;align-items:center;gap:.5rem;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .75rem;font-family:var(--font-mono);font-size:.83rem;word-break:break-all}.kv{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:.4rem 1.25rem;font-size:.875rem}.kv-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 1.5rem;font-size:.875rem}.kv-cols>div{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.3rem 0;border-bottom:1px solid var(--border)}.kv-cols dt{color:var(--text-dim)}.kv-cols dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap}.kv dt{color:var(--text-dim)}.kv dd{margin:0}.input-suffix{display:flex;align-items:stretch}.input-suffix input{border-top-right-radius:0;border-bottom-right-radius:0}.input-suffix .suffix{display:flex;align-items:center;padding:0 .6rem;border:1px solid var(--border);border-left:none;border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius);background:var(--bg-inset);color:var(--text-dim);white-space:nowrap}.hint{margin:.3rem 0 0;font-size:.8rem;color:var(--text-dim)}label.check{display:flex;align-items:center;gap:.5rem;margin:.6rem 0;font-size:.9rem}label.check input{width:auto}.rec-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.muted{color:var(--text-dim)}.mono{font-family:var(--font-mono);font-size:.83rem}.small{font-size:.8rem}.plain{list-style:none;margin:.35rem 0;padding:0;display:grid;gap:.3rem}.mt{margin-top:1rem}.spinner{width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:99px;animation:spin .7s linear infinite;display:inline-block;vertical-align:-3px;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.empty{text-align:center;color:var(--text-dim);padding:2.25rem 1rem;font-size:.875rem}@media(max-width:800px){.sidebar{display:none}.content{padding:1rem}.topbar{padding:0 .75rem}}.chart{width:100%}.chart svg{display:block;touch-action:none}.chart-empty{display:flex;align-items:center;justify-content:center;color:var(--text-faint);background:var(--bg-inset);border-radius:var(--radius-sm);font-size:.85rem}.chart-grid{stroke:var(--border);stroke-width:1}.chart-axis{fill:var(--text-faint);font-size:10px;font-family:var(--font-mono)}.chart-cursor{stroke:var(--text-faint);stroke-width:1;stroke-dasharray:3 3}.chart-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;margin-top:.4rem;font-size:.8rem;color:var(--text-dim)}.chart-key{display:inline-flex;align-items:center;gap:.35rem}.chart-key b{color:var(--text);font-variant-numeric:tabular-nums}.chart-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.chart-when{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-left:auto}.chart-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.chart-box h3{font-size:.9rem;margin:0 0 .25rem;color:var(--text-dim);font-weight:600}.toolbar{display:flex;gap:.6rem;align-items:center;margin-bottom:.9rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}label.checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin:.4rem 0}.stack{display:flex;flex-direction:column;gap:1rem}.bullets{margin:.5rem 0 0;padding-left:1.2rem}.bullets li{margin:.15rem 0}.badge.status-open,.badge.prio-high{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.badge.status-answered{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.badge.status-closed,.badge.status-done,.badge.prio-normal,.badge.prio-low,.badge.status-uploaded,.badge.status-scanned{background:var(--bg-inset);color:var(--text-dim);border-color:var(--border)}.badge.prio-urgent,.badge.status-error,.badge.status-applying{background:var(--danger-bg);color:var(--danger-strong);border-color:var(--danger-border)}.bell{position:relative}.bell-btn{position:relative;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.35rem;border-radius:var(--radius-sm);display:flex}.bell-btn:hover{background:var(--bg-hover)}.bell-badge{position:absolute;top:-2px;right:-2px;background:var(--danger);color:#fff;font-size:.62rem;line-height:1;padding:.15rem .3rem;border-radius:999px;min-width:1rem;text-align:center}.bell-menu{position:absolute;right:0;top:calc(100% + 8px);width:340px;max-width:90vw;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg, 0 12px 32px rgba(0,0,0,.14));z-index:40;overflow:hidden}.bell-head{display:flex;justify-content:space-between;align-items:center;padding:.6rem .8rem;border-bottom:1px solid var(--border)}.bell-empty{padding:1.2rem .8rem;color:var(--text-dim);font-size:.875rem;text-align:center}.bell-list{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto}.bell-list li button{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:.6rem .8rem;cursor:pointer}.bell-list li button:hover{background:var(--bg-hover)}.bell-list li.unread button{background:var(--accent-soft)}.bell-list li.unread button:hover{background:var(--accent-soft);filter:brightness(.98)}.bell-title{font-size:.85rem;font-weight:600;color:var(--text)}.bell-body{font-size:.8rem;color:var(--text-dim)}.thread{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.msg{border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;background:var(--bg-panel)}.msg-user{border-left:3px solid var(--accent)}.msg-staff{border-left:3px solid var(--ok);background:var(--bg-inset)}.msg-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem;font-size:.85rem}.msg-head .muted{color:var(--text-dim);font-size:.78rem}.msg-body{white-space:pre-wrap;font-size:.9rem;color:var(--text-secondary)}.msg-attachments{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--bg-inset);border:1px solid var(--border);border-radius:999px;padding:.2rem .6rem;font-size:.78rem;cursor:pointer;color:var(--text-secondary)}.chip:hover{background:var(--bg-hover)}.chip .muted{color:var(--text-faint)}.gsearch{position:relative;display:flex;align-items:center;gap:.4rem;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);padding:0 .6rem;min-width:260px;max-width:420px;flex:1}.gsearch .search-icon{color:var(--text-faint);display:flex}.gsearch input{border:none;background:none;outline:none;padding:.45rem 0;width:100%;color:var(--text);font-size:.9rem}.gsearch-menu{position:absolute;left:0;top:calc(100% + 6px);width:100%;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg, 0 12px 32px rgba(0,0,0,.14));z-index:40;max-height:460px;overflow-y:auto;padding:.3rem}.gsearch-empty{padding:1rem;color:var(--text-dim);font-size:.875rem;text-align:center}.gsearch-group+.gsearch-group{border-top:1px solid var(--border);margin-top:.3rem;padding-top:.3rem}.gsearch-type{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);padding:.3rem .5rem .15rem}.gsearch-hit{display:flex;align-items:baseline;gap:.5rem;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius-sm);padding:.4rem .5rem;cursor:pointer}.gsearch-hit:hover{background:var(--bg-hover)}.gsearch-label{font-size:.875rem;color:var(--text)}.gsearch-sub{font-size:.78rem;color:var(--text-dim)}.method{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:.15rem .45rem;border-radius:var(--radius-sm);border:1px solid transparent}.method-get{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-border)}.method-post{background:var(--accent-soft);color:var(--accent-soft-text);border-color:var(--ring)}.method-put,.method-patch{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-border)}.method-delete{background:var(--danger-bg);color:var(--danger-strong);border-color:var(--danger-border)}.ban-jail{margin-top:.6rem}.ban-jail h3{margin:.4rem 0 .2rem;font-size:.9rem;text-transform:capitalize}.wm{display:flex;flex-direction:column;height:100vh;background:var(--bg)}.wm-head{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.1rem;border-bottom:1px solid var(--border);background:var(--bg-panel)}.wm-head .wm-brand{display:flex;align-items:center;gap:.55rem;font-weight:650}.wm-head .wm-brand .logo-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--accent);color:var(--accent-text);font-size:.8rem;font-weight:700}.wm-head .wm-who{font-size:.85rem;color:var(--text-dim)}.wm-head .actions-row{margin-left:auto}.wm-body{display:grid;grid-template-columns:216px minmax(280px,1fr) minmax(0,1.9fr);flex:1;min-height:0;background:var(--bg)}.wm-folders{border-right:1px solid var(--border);padding:.75rem .6rem;display:flex;flex-direction:column;gap:.1rem;overflow-y:auto;background:var(--bg-panel)}.wm-compose-btn{margin-bottom:.7rem;width:100%;justify-content:center}.wm-folder{display:flex;align-items:center;justify-content:space-between;gap:.4rem;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius);padding:.5rem .6rem;cursor:pointer;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:background .12s ease,color .12s ease}.wm-folder:hover{background:var(--bg-hover);color:var(--text)}.wm-folder.active{background:var(--accent-soft);color:var(--accent-soft-text);font-weight:650}.wm-folder .count{font-size:.72rem;font-weight:700;padding:.05rem .4rem;border-radius:999px;background:var(--accent);color:var(--accent-text)}.wm-folder.active .count{background:var(--accent)}.wm-list{border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;background:var(--bg-panel)}.wm-search{display:flex;gap:.4rem;padding:.6rem;border-bottom:1px solid var(--border)}.wm-search input{flex:1}.wm-msgs{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.wm-msg{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"avatar from meta" "avatar subject meta";gap:.1rem .65rem;align-items:center;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:.7rem .8rem;cursor:pointer;border-left:3px solid transparent;transition:background .12s ease}.wm-msg:hover{background:var(--bg-hover)}.wm-msg.active{background:var(--accent-soft);border-left-color:var(--accent)}.wm-avatar{grid-area:avatar;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--bg-inset);color:var(--text-dim);font-size:.75rem;font-weight:700;letter-spacing:.02em}.wm-avatar.lg{width:42px;height:42px;font-size:.85rem}.wm-msg.unread .wm-avatar{background:var(--accent-soft);color:var(--accent-soft-text)}.wm-msg-from{grid-area:from;font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wm-msg-subject{grid-area:subject;font-size:.85rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wm-msg.unread .wm-msg-from{font-weight:700;color:var(--text)}.wm-msg.unread .wm-msg-subject{font-weight:600;color:var(--text)}.wm-msg-meta{grid-area:meta;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;font-size:.72rem;color:var(--text-faint);white-space:nowrap}.wm-msg-marks{display:flex;align-items:center;gap:.3rem}.wm-star{color:#e0a800}.wm-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block}.wm-reader{overflow-y:auto;min-width:0;display:flex;flex-direction:column}.wm-empty{margin:auto;text-align:center;color:var(--text-faint);padding:2rem}.wm-empty-mark{font-size:2.4rem;display:block;margin-bottom:.5rem;opacity:.5}.wm-message{padding:1.4rem 1.6rem}.wm-message header{border-bottom:1px solid var(--border);padding-bottom:.9rem;margin-bottom:1rem}.wm-message h2{margin:0 0 .7rem;font-size:1.25rem;line-height:1.3}.wm-message-meta{display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;margin-bottom:.8rem}.wm-message-sender{display:flex;align-items:center;gap:.6rem;margin-bottom:.25rem}.wm-text{white-space:pre-wrap;word-wrap:break-word;font:inherit;font-size:.92rem;line-height:1.6;color:var(--text-secondary);margin:0;max-width:74ch}.wm-html{width:100%;min-height:460px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.wm-attachments{margin-top:1.4rem;border-top:1px solid var(--border);padding-top:.8rem}.wm-attachments h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);margin:0 0 .5rem}.wm-attachments ul{list-style:none;margin:0;padding:0;font-size:.85rem;display:flex;flex-wrap:wrap;gap:.5rem}.wm-attachments li{border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .7rem;background:var(--bg-inset)}.wm-compose{display:flex;flex-direction:column;min-height:0;flex:1}.wm-compose-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.4rem;border-bottom:1px solid var(--border)}.wm-compose-head h2{margin:0;font-size:1.05rem}.wm-icon-btn{background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:1rem;padding:.25rem .45rem;border-radius:var(--radius-sm)}.wm-icon-btn:hover{background:var(--bg-hover);color:var(--text)}.wm-compose-form{display:flex;flex-direction:column;flex:1;min-height:0;padding:.9rem 1.4rem 1.1rem;gap:.1rem}.wm-field{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--border)}.wm-field>span{width:74px;flex:none;font-size:.8rem;color:var(--text-dim)}.wm-field input{flex:1;border:none;background:none;padding:.6rem 0;font-size:.9rem;color:var(--text);outline:none;box-shadow:none}.wm-linkish{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:.8rem;cursor:pointer;padding:.4rem 0}.wm-compose-body{flex:1;min-height:200px;margin-top:.8rem;resize:none;border:1px solid var(--border);border-radius:var(--radius);padding:.8rem;font:inherit;font-size:.92rem;line-height:1.6}.wm-compose-files{list-style:none;margin:.7rem 0 0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.85rem}.wm-compose-files li{display:flex;align-items:center;gap:.6rem;background:var(--bg-inset);border-radius:var(--radius);padding:.35rem .6rem}.wm-compose-actions{display:flex;align-items:center;gap:.5rem;margin-top:.9rem}@media(max-width:900px){.wm-body{grid-template-columns:1fr}.wm-folders{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border)}.wm-list{border-right:none;border-bottom:1px solid var(--border);max-height:40vh}}@media(max-width:900px){.wm-body{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.wm-folders{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border)}.wm-list{border-right:none;border-bottom:1px solid var(--border);max-height:40vh}}.vnc-screen{margin-top:.75rem;background:#000;border:1px solid var(--border);border-radius:6px;overflow:hidden;min-height:24rem;height:60vh}.vnc-screen canvas{display:block}.data tr.row-dim td{opacity:.62}.data td.wrap{white-space:normal;word-break:break-word;max-width:34rem}.quota-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem 1.75rem}.quota-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;font-size:.875rem}.quota-head span:first-child{color:var(--text-dim)}.quota .meter{margin-top:.35rem}.section-sub{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:1.4rem 0 .6rem}
