.bell[data-v-aaf71659]{position:relative}.panel[data-v-aaf71659]{z-index:30;width:340px;max-height:420px;position:absolute;top:36px;right:0;overflow:auto}ul[data-v-aaf71659]{margin:0;padding:0;list-style:none}li[data-v-aaf71659]{border-top:1px solid var(--line);cursor:pointer;padding:8px 6px}li.unread .t[data-v-aaf71659]{font-weight:650}li.unread[data-v-aaf71659]{background:var(--accent-soft)}.shell[data-v-0d553e03]{grid-template-columns:236px 1fr;min-height:100%;display:grid}.rail[data-v-0d553e03]{background:var(--rail);color:var(--rail-fg);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.brand[data-v-0d553e03]{color:#fff;letter-spacing:.02em;align-items:center;gap:10px;padding:16px 18px;font-size:17px;font-weight:700;display:flex}.brand .close[data-v-0d553e03]{color:var(--rail-fg);margin-left:auto;display:none}nav[data-v-0d553e03]{flex-direction:column;gap:2px;padding:6px 10px;display:flex}nav a[data-v-0d553e03]{color:var(--rail-fg);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-weight:500;display:flex}nav a[data-v-0d553e03]:hover{background:#ffffff0f;text-decoration:none}nav a.active[data-v-0d553e03]{color:#fff;box-shadow:inset 3px 0 0 var(--rail-active);background:#d0a75129}.ico[data-v-0d553e03]{text-align:center;width:18px;color:var(--rail-dim)}nav a.active .ico[data-v-0d553e03]{color:var(--rail-active)}.rail-foot[data-v-0d553e03]{margin-top:auto;padding:12px}.rail-foot .btn[data-v-0d553e03]{color:var(--rail-dim)}.main[data-v-0d553e03]{flex-direction:column;min-width:0;display:flex}.topbar[data-v-0d553e03]{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:14px;padding:10px 24px;display:flex;position:sticky;top:0}.topbar .spacer[data-v-0d553e03]{flex:1}.yard[data-v-0d553e03]{align-items:center;gap:8px;display:flex}.yard select[data-v-0d553e03]{width:auto;min-width:180px;padding:6px 8px}.user[data-v-0d553e03]{align-items:center;gap:10px;display:flex}.user .name[data-v-0d553e03]{font-weight:600}.menu[data-v-0d553e03],.backdrop[data-v-0d553e03]{display:none}main[data-v-0d553e03]{flex:1}@media (width<=900px){.shell[data-v-0d553e03]{grid-template-columns:1fr}.rail[data-v-0d553e03]{z-index:20;width:240px;transition:left .18s;position:fixed;left:-260px}.shell.open .rail[data-v-0d553e03]{left:0}.brand .close[data-v-0d553e03],.menu[data-v-0d553e03]{display:inline-flex}.backdrop[data-v-0d553e03]{z-index:15;background:#00000059;position:fixed;inset:0}.shell:not(.open) .backdrop[data-v-0d553e03]{display:none}.shell.open .backdrop[data-v-0d553e03]{display:block}.topbar[data-v-0d553e03]{padding:8px 14px}.user .name[data-v-0d553e03]{display:none}}.toasts[data-v-0ee9bdac]{z-index:100;flex-direction:column;gap:8px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast[data-v-0ee9bdac]{background:var(--surface);border:1px solid var(--line-2);border-left:4px solid var(--info);border-radius:var(--r-sm);box-shadow:var(--shadow);cursor:pointer;padding:10px 12px}.toast.ok[data-v-0ee9bdac]{border-left-color:var(--ok)}.toast.warn[data-v-0ee9bdac]{border-left-color:var(--warn)}.toast.crit[data-v-0ee9bdac]{border-left-color:var(--crit)}.title[data-v-0ee9bdac]{font-weight:600}.detail[data-v-0ee9bdac]{color:var(--muted);word-break:break-word;margin-top:2px;font-size:12.5px}:root{--vy-navy:#192e45;--vy-gold:#d0a751;--vy-gold-hover:#bc9441;--vy-cream:#faf8f3;--bg:#f5f4f0;--fg:#192e45;--surface:#fff;--surface-2:#f6f5f1;--fill:#efeee8;--line:#e5e5de;--line-2:#d4d7d6;--muted:#6c7a88;--faint:#84919d;--blue:#274765;--blue-soft:#edf1f3;--accent:#d0a751;--accent-ink:#856321;--accent-soft:#faf2df;--rail:#192e45;--rail-fg:#bfccd9;--rail-dim:#8fa3b8;--rail-active:#d0a751;--ok:#13866b;--ok-soft:#eaf8f1;--warn:#976411;--warn-soft:#fff5df;--crit:#c7464b;--crit-soft:#fff0ef;--info:#2563eb;--info-soft:#edf3ff;--shadow:0 3px 16px #192e450f;--r:12px;--r-sm:8px;--f-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--f-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0c1725;--fg:#eef2f6;--surface:#142438;--surface-2:#192d43;--fill:#20334a;--line:#2a3c50;--line-2:#35485e;--muted:#a4b3c6;--faint:#8191a4;--blue:#9fb6cf;--blue-soft:#1c2f45;--accent:#d9b56a;--accent-ink:#f0d79a;--accent-soft:#2d2a1d;--rail:#0a1420;--rail-fg:#bfccd9;--rail-dim:#7f93a9;--ok:#3ec29a;--ok-soft:#12302a;--warn:#e3b35a;--warn-soft:#33290f;--crit:#ef6b70;--crit-soft:#3a1b1c;--info:#7aa6ff;--info-soft:#1a2740;--shadow:0 3px 16px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#app{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--f-body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.45}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0 0 8px;font-weight:650}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}p{margin:0 0 8px}code,.mono{font-family:var(--f-mono);font-size:12.5px}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page{max-width:1400px;margin:0 auto;padding:20px 24px 40px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-head .spacer{flex:1}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.muted{color:var(--muted)}.faint{color:var(--faint);font-size:12.5px}.right{text-align:right}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}.card-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.card-head h2,.card-head h3{flex:1;margin:0}.card.flush{padding:0;overflow:hidden}.btn{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--fg);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-weight:550;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--fill)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--vy-navy);border-color:var(--vy-navy);color:#fff}.btn.primary:hover:not(:disabled){background:#22405f}.btn.accent{background:var(--vy-gold);border-color:var(--vy-gold);color:#1d1a12}.btn.accent:hover:not(:disabled){background:var(--vy-gold-hover)}.btn.danger{color:var(--crit);border-color:var(--crit)}.btn.danger:hover:not(:disabled){background:var(--crit-soft)}.btn.ghost{background:0 0;border-color:#0000}.btn.sm{padding:5px 10px;font-size:13px}.btn.block{justify-content:center;width:100%}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:12.5px;font-weight:600}.field .hint{color:var(--faint);font-size:12px}.field .error{color:var(--crit);font-size:12px}.input,select.input,textarea.input{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--fg);padding:8px 10px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input.invalid{border-color:var(--crit)}textarea.input{resize:vertical;min-height:72px}.checkbox{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.form-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.table{border-collapse:collapse;width:100%;font-size:13.5px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:9px 12px}.table th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);font-size:12px;font-weight:600;position:sticky;top:0}.table tbody tr:hover{background:var(--surface-2)}.table tr.clickable{cursor:pointer}.table-wrap{overflow:auto}.badge{background:var(--fill);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.crit{background:var(--crit-soft);color:var(--crit)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.accent{background:var(--accent-soft);color:var(--accent-ink)}.dot{background:currentColor;border-radius:50%;width:8px;height:8px;display:inline-block}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.stat .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.stat .value{margin-top:4px;font-size:26px;font-weight:700}.stat .sub{color:var(--faint);font-size:12.5px}.empty{text-align:center;color:var(--muted);padding:32px}.alert{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface-2);padding:10px 12px}.alert.crit{background:var(--crit-soft);border-color:var(--crit);color:var(--crit)}.alert.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.alert.ok{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.alert.info{background:var(--info-soft);border-color:var(--info);color:var(--info)}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:14px;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px;font-weight:550}.tabs button.active{color:var(--fg);border-bottom-color:var(--accent)}.kv{grid-template-columns:max-content 1fr;gap:4px 14px;font-size:13.5px;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.spinner{border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=720px){.page{padding:14px 16px 32px}}
