:root{--bg:#000000;--panel:#121214;--panel-2:#1a1a1d;--fg:#ffffff;--muted:#8a8a92;--border:#2a2a2e;--accent:#ff7a1a;--accent-hover:#ff9038;--accent-weak:rgba(255,122,26,0.14);--sidebar:#0a0a0b;--sidebar-fg:#ffffff;--sidebar-muted:#8a8a92;--ok:#3ddc84;--ok-bg:rgba(61,220,132,0.14);--bad:#ff5a5a;--bad-bg:rgba(255,90,90,0.14)}*{box-sizing:border-box}body,html{margin:0;height:100%;overscroll-behavior:none}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--fg);background:var(--bg)}.shell{grid-template-columns:220px 1fr}.shell,.shell-loading{display:grid;min-height:100vh}.shell-loading{place-items:center}.sidebar{background:var(--sidebar);color:var(--sidebar-fg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem .75rem;gap:.25rem;position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto}.brand{font-weight:800;font-size:1.2rem;letter-spacing:.02em;text-transform:uppercase;color:var(--accent);padding:.25rem .75rem 1.25rem}.sidebar nav{display:flex;flex-direction:column;gap:.125rem;flex:1 1}.nav-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:10px;color:var(--sidebar-muted);text-decoration:none;font-size:.92rem;font-weight:500}.nav-item:hover{background:rgba(255,255,255,.05);color:var(--sidebar-fg)}.nav-item.active{background:var(--accent);color:#000;font-weight:700}.logout{margin-top:auto;background:transparent;color:var(--sidebar-muted);border:1px solid var(--border);border-radius:999px}.logout:hover{color:#fff;border-color:var(--accent)}.content{padding:2rem 2.25rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.page-header h1{margin:0;font-size:1.6rem;font-weight:800;letter-spacing:.01em;text-transform:uppercase;transition:font-size .2s ease}.stations-head{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--bg);margin:-2rem -2.25rem .5rem;padding:1.5rem 2.25rem .5rem;border-bottom:1px solid transparent;transition:padding .2s ease,border-color .2s ease}.stations-head .metrics{max-height:200px;overflow:hidden;transition:max-height .25s ease,opacity .2s ease,margin .2s ease}.stations-head .page-header{transition:margin .2s ease}.stations-head.collapsed{padding-top:.65rem;padding-bottom:.65rem;border-bottom-color:var(--border)}.stations-head.collapsed .page-header{margin-bottom:.65rem}.stations-head.collapsed .page-header h1{font-size:1.15rem}.stations-head.collapsed .metrics{max-height:0;opacity:0;margin-bottom:0}main{max-width:960px;margin:0 auto;padding:2rem 1rem}.center-card{min-height:100vh;display:grid;place-items:center}.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:2rem;width:100%;max-width:340px;box-shadow:0 8px 40px rgba(0,0,0,.5)}.card h1{text-transform:uppercase;letter-spacing:.02em;font-weight:800}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;overflow:hidden}.stations-table{table-layout:fixed}.url-cell{display:flex;align-items:center;gap:.4rem}.url-text{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-btn{flex:none;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:.15rem .45rem;font-size:.85rem;line-height:1;cursor:pointer}.copy-btn:hover{color:var(--accent);border-color:var(--accent)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.6rem .85rem;border-bottom:1px solid var(--border);font-size:.9rem}tbody tr:last-child td{border-bottom:none}tbody tr:hover,th{background:var(--panel-2)}th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:.78rem;letter-spacing:.03em}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--fg)}th.sorted{color:var(--accent)}.sort-ind{font-size:.75rem;opacity:.7}th.sortable:not(.sorted) .sort-ind{opacity:.3}button,input{font:inherit;padding:.55rem .8rem;border:1px solid var(--border);border-radius:10px}input{background:var(--panel);color:var(--fg)}input::placeholder{color:var(--muted)}input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-weak)}button{background:var(--accent);color:#000;font-weight:700;border:none;border-radius:999px;cursor:pointer}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:default}.muted{color:var(--muted)}.metrics{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.metric{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.85rem 1.1rem;min-width:96px}.metric .value{font-size:1.7rem;font-weight:800}.metric .label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.02em}.toolbar{display:flex;gap:.5rem;margin-bottom:1rem}.toolbar input{flex:1 1;max-width:320px}.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.78rem;font-weight:700}.badge.live{background:var(--ok-bg);color:var(--ok)}.badge.dead{background:var(--bad-bg);color:var(--bad)}.empty{padding:2.5rem;text-align:center;color:var(--muted)}.pagination{justify-content:space-between;gap:1rem;margin-top:1rem;flex-wrap:wrap}.pager,.pagination{display:flex;align-items:center}.pager{gap:.5rem}.pager button{background:var(--panel);color:var(--fg);border:1px solid var(--border);padding:.4rem .8rem}.pager button:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--panel)}.pager button:disabled{opacity:.4;cursor:default}.error{color:var(--bad)}