@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/onest-cyrillic-wght-normal.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/onest-latin-wght-normal.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:#06080D;--bg2:#0A0F18;--ink:#E8EDF4;--ink2:rgba(232,237,244,.62);--line:rgba(232,237,244,.1);--solid:rgba(232,237,244,.055);--solid2:rgba(232,237,244,.035);--font:"Onest Variable",system-ui,sans-serif;--a1:#2EE6C8;--a2:#FF6A4D;--sky:#7DB2FF;--ok:#4ADE9E;--ok-bg:rgba(74,222,158,.14);--warn:#F5C26B;--warn-bg:rgba(245,194,107,.14);--bad:#FF8F86;--bad-bg:rgba(255,143,134,.14);--r-sm:12px;--r-md:16px;--r-pill:999px;--t-fast:.16s;--ease:cubic-bezier(.22,.8,.3,1);--page-max:1200px;--row:44px;--fs-xs:12px;--fs-sm:14px;--fs-md:16px;--fs-lg:20px;--fs-xl:32px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--fs-md);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--sky);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--sky);outline-offset:2px;border-radius:4px}::selection{background:#2ee6c847}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#e8edf424;border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:var(--r-sm);border:1px solid transparent;font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--a1);color:#04231d}.btn-primary:hover:not(:disabled){background:#5aefd6}.btn-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn-ghost:hover:not(:disabled){border-color:#e8edf440}.btn-danger{background:transparent;border-color:var(--a2);color:var(--a2)}.btn-danger:hover:not(:disabled){background:#ff6a4d1f}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:var(--fs-sm);color:var(--ink2)}.input{min-height:44px;padding:10px 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg2);color:var(--ink);font:inherit;transition:border-color var(--t-fast) var(--ease)}.input:focus{border-color:var(--a1);outline:none}.input::placeholder{color:#e8edf452}.form-error{margin:0 0 12px;padding:10px 14px;border-radius:var(--r-sm);background:var(--bad-bg);color:var(--bad);font-size:var(--fs-sm)}.pill{display:inline-flex;align-items:center;gap:7px;padding:3px 12px;border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.pill-ok{background:var(--ok-bg);color:var(--ok)}.pill-warn{background:var(--warn-bg);color:var(--warn)}.pill-bad{background:var(--bad-bg);color:var(--bad)}.pill-neutral{background:var(--solid);color:var(--ink2)}.status-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-radius:var(--r-md);border-left:4px solid transparent;font-weight:600}.status-bar .status-time{font-weight:400;font-size:var(--fs-sm);color:var(--ink2);margin-left:auto}.status-bar-ok{background:var(--ok-bg);border-left-color:var(--ok);color:var(--ok)}.status-bar-warn{background:var(--warn-bg);border-left-color:var(--warn);color:var(--warn)}.status-bar-bad{background:var(--bad-bg);border-left-color:var(--bad);color:var(--bad)}a.status-bar{text-decoration:none;color:inherit}a.status-bar:hover{filter:brightness(1.12)}.metric-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-card{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:var(--r-md);background:var(--solid);transition:background var(--t-fast) var(--ease);text-decoration:none;color:inherit}.metric-card:hover{background:#e8edf417;text-decoration:none}.metric-card .metric-title{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}.metric-card .metric-value{font-size:var(--fs-xl);font-weight:700;line-height:1.1}.metric-card .metric-sub{font-size:var(--fs-sm);color:var(--ink2)}.metric-card .metric-attention{color:var(--warn);font-weight:600}.metric-card .metric-value.flash{animation:flash .42s var(--ease)}@keyframes flash{0%{color:var(--a1)}to{color:var(--ink)}}.panel{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-md);padding:18px;margin-top:16px}.panel h2{margin:0 0 4px;font-size:var(--fs-lg)}.panel .panel-sub{color:var(--ink2);font-size:var(--fs-sm);margin:0 0 12px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md)}table.dashboard{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.dashboard caption{text-align:left}table.dashboard th{text-align:left;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);font-weight:600;padding:0 14px;height:var(--row);border-bottom:1px solid var(--line);background:var(--solid);white-space:nowrap}table.dashboard td{padding:0 14px;height:var(--row);border-bottom:1px solid var(--line);vertical-align:middle}table.dashboard tbody tr:nth-child(2n){background:var(--solid2)}table.dashboard tbody tr:last-child td{border-bottom:none}table.dashboard td.num,table.dashboard th.num{text-align:right;font-variant-numeric:tabular-nums}table.dashboard tr.row-bad td{background:var(--bad-bg)}table.dashboard tr.row-warn td{background:var(--warn-bg)}.cards-list{display:none;flex-direction:column;gap:10px}.node-card{background:var(--solid);border-radius:var(--r-md);padding:14px;display:flex;flex-direction:column;gap:8px}.node-card .node-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.node-card .node-name{font-weight:600}.node-card .node-facts{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:var(--fs-sm);color:var(--ink2)}.node-card .node-facts dt{margin:0}.node-card .node-facts dd{margin:0;text-align:right;color:var(--ink)}.hint-toggle{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--ink2);font-size:var(--fs-sm);cursor:pointer;padding:4px 2px;min-height:44px}.hint-toggle:hover{color:var(--a1)}.hint-toggle .hint-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid currentColor;font-size:11px}.hint-body{margin:4px 0 0;padding:12px 14px;border-radius:var(--r-sm);background:var(--solid);color:var(--ink2);font-size:var(--fs-sm)}.hint-body p{margin:0 0 6px}.hint-body p:last-child{margin-bottom:0}.skeleton{border-radius:var(--r-md);background:linear-gradient(100deg,var(--solid) 40%,rgba(232,237,244,.1) 50%,var(--solid) 60%);background-size:200% 100%;animation:skeleton 1.4s infinite linear}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-tile{height:72px}.skeleton-row{height:56px}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background:var(--solid)}.metric-card .metric-value.flash{animation:none}}.degraded-banner{padding:10px 16px;border-radius:var(--r-sm);background:var(--warn-bg);color:var(--warn);font-size:var(--fs-sm);margin-bottom:14px}.tabs{display:inline-flex;gap:6px;background:var(--solid);border-radius:var(--r-pill);padding:4px}.tab{border:none;background:transparent;color:var(--ink2);padding:8px 16px;border-radius:var(--r-pill);cursor:pointer;font-size:var(--fs-sm);font-weight:600;min-height:40px;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.tab:hover{color:var(--ink)}.tab-active{background:var(--a1);color:#04231d}.feed{display:flex;flex-direction:column;gap:8px}.feed-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);background:var(--solid2);border-left:3px solid var(--line)}.feed-item-feed-warn{border-left-color:var(--warn)}.feed-item-feed-bad{border-left-color:var(--bad)}.feed-item .feed-time{flex:none;font-size:var(--fs-sm);color:var(--ink2);font-variant-numeric:tabular-nums;padding-top:1px}.feed-item .feed-body{flex:1;min-width:0}.feed-item .feed-text{margin:0}.feed-item .feed-expand{margin:8px 0 0;padding:10px 12px;border-radius:var(--r-sm);background:var(--bg2);border:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink2)}.feed-item .feed-expand ol{margin:6px 0 0;padding-left:20px}.feed-item .feed-expand li{margin:4px 0}.feed-item .feed-arrow{flex:none;color:var(--ink2);background:none;border:none;cursor:pointer;min-width:44px;min-height:44px;font-size:18px}.feed-empty{padding:24px;text-align:center;color:var(--ink2)}.funnel-row{display:grid;grid-template-columns:180px 1fr auto;gap:10px;align-items:center;margin:6px 0;font-size:var(--fs-sm)}.funnel-track{height:20px;border-radius:var(--r-pill);background:var(--solid2);overflow:hidden}.funnel-fill{height:100%;border-radius:var(--r-pill);background:var(--a1);transition:width .42s var(--ease)}.funnel-fill.funnel-fill-warn{background:var(--warn)}.funnel-count{font-variant-numeric:tabular-nums;color:var(--ink2)}.funnel-drop{color:var(--warn);font-size:var(--fs-xs)}.shell{display:flex;min-height:100vh}.sidebar{flex:none;width:200px;background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 12px;position:sticky;top:0;height:100vh}.sidebar .brand{font-weight:800;font-size:18px;color:var(--a1);padding:4px 12px 18px}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);color:var(--ink2);font-size:var(--fs-sm);font-weight:600;text-decoration:none;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.nav-link:hover{background:var(--solid);color:var(--ink);text-decoration:none}.nav-link-active{background:var(--solid);color:var(--a1)}.sidebar .sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:8px}.sidebar .sidebar-user{font-size:var(--fs-sm);color:var(--ink2);padding:0 12px;overflow:hidden;text-overflow:ellipsis}.content{flex:1;min-width:0;padding:24px 28px 48px}.content-inner{max-width:var(--page-max);margin:0 auto;display:flex;flex-direction:column;gap:16px}.mobile-top,.tabbar{display:none}@media(max-width:899px){.shell{display:block}.sidebar,.table-wrap{display:none}.cards-list{display:flex}.mobile-top{display:flex;align-items:center;position:sticky;top:0;z-index:10;background:var(--bg);padding:10px 16px;border-bottom:1px solid var(--line)}.mobile-top .status-bar{flex:1;padding:8px 12px;font-size:var(--fs-sm)}.content{padding:16px 16px 96px}.tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:10;background:var(--bg2);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tabbar .nav-link{flex:1;flex-direction:column;gap:2px;padding:6px 2px;font-size:11px;border-radius:var(--r-sm)}.funnel-row{grid-template-columns:110px 1fr auto}}.welcome-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.welcome-card{width:100%;max-width:420px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-md);padding:32px 28px}.welcome-card .welcome-logo{text-align:center;font-size:26px;font-weight:800;color:var(--a1);margin-bottom:6px}.welcome-card .welcome-title{text-align:center;font-size:var(--fs-lg);font-weight:700;margin:0 0 22px}.welcome-card .welcome-note{margin:16px 0 0;font-size:var(--fs-sm);color:var(--ink2);text-align:center}.qr-box{display:flex;justify-content:center;background:#fff;padding:12px;border-radius:var(--r-sm);width:max-content;margin:10px auto}.code-steps{margin:0 0 16px;padding-left:22px;color:var(--ink2);font-size:var(--fs-sm)}.code-steps li{margin:6px 0}.recovery-code{text-align:center;font-size:var(--fs-lg);letter-spacing:.12em;font-weight:700;padding:10px;border:1px dashed var(--line);border-radius:var(--r-sm);margin:8px 0}.error-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;text-align:center;color:var(--ink2)}.error-state .error-text{margin:0;max-width:420px}
