:root{--ru-bg: #0d1117;--ru-bg-elevated: #1a2332;--ru-surface: #0f1e2e;--ru-border: #2a4a70;--ru-text: #f0f4f8;--ru-text-secondary: #b0b8c4;--ru-accent: #00d4ff;--ru-accent-green: #00e676;--ru-accent-amber: #ffb300;--ru-accent-red: #ff5252;--ru-focus: #00d4ff;--ru-font: "Plus Jakarta Sans", "Segoe UI", system-ui, sans-serif;--ru-mono: "IBM Plex Mono", Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--ru-font);background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(0,212,255,.12),transparent),radial-gradient(ellipse 60% 40% at 90% 0%,rgba(0,230,118,.06),transparent),var(--ru-bg);color:var(--ru-text);line-height:1.5}:focus-visible{outline:2px solid var(--ru-focus);outline-offset:2px}a{color:var(--ru-accent)}.shell{max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.brand{display:flex;flex-direction:column;gap:.15rem}.brand h1{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.brand p{margin:0;color:var(--ru-text-secondary);font-size:.85rem}.nav{display:flex;flex-wrap:wrap;gap:.4rem}.nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--ru-text-secondary);font:inherit;font-weight:600;font-size:.9rem;padding:.45rem .85rem;border-radius:8px;cursor:pointer}.nav button[aria-current=page]{color:var(--ru-bg);background:var(--ru-accent)}.nav button:hover:not([aria-current=page]){border-color:var(--ru-border);color:var(--ru-text)}.panel{background:var(--ru-surface);border:1px solid var(--ru-border);border-radius:12px;padding:1.25rem;margin-bottom:1.25rem}.panel h2{margin:0 0 .35rem;font-size:1.1rem}.panel .hint{margin:0 0 1rem;color:var(--ru-text-secondary);font-size:.85rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem}.stat{padding:.85rem .9rem;background:var(--ru-bg-elevated);border-radius:10px;border:1px solid transparent}.stat .label{display:block;font-size:.75rem;color:var(--ru-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.stat .value{font-family:var(--ru-mono);font-size:1.25rem;font-weight:500;color:var(--ru-accent)}.form-grid{display:grid;gap:.75rem}.form-grid.two{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--ru-text-secondary)}input,textarea,select{font:inherit;color:var(--ru-text);background:var(--ru-bg);border:1px solid var(--ru-border);border-radius:8px;padding:.55rem .7rem}textarea{min-height:90px;resize:vertical}.checkbox-row{flex-direction:row;align-items:center;gap:.5rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}button.primary,button.ghost,button.danger{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-weight:600;font-size:.875rem;border-radius:8px;padding:.55rem .95rem;cursor:pointer;border:1px solid transparent}button.primary{background:var(--ru-accent);color:#041018}button.ghost{background:transparent;border-color:var(--ru-border);color:var(--ru-text)}button.danger{background:transparent;border-color:var(--ru-accent-red);color:var(--ru-accent-red)}button:disabled{opacity:.5;cursor:not-allowed}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.55rem .4rem;border-bottom:1px solid var(--ru-border);vertical-align:top}th{color:var(--ru-text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.mono{font-family:var(--ru-mono);font-size:.8rem}.banner{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.banner.error{background:#ff52521f;border:1px solid var(--ru-accent-red);color:#ffc9c9}.banner.ok{background:#00e6761a;border:1px solid var(--ru-accent-green);color:#b8f5d4}.auth-gate{max-width:420px;margin:4rem auto}.placeholder-chart{height:140px;border-radius:10px;background:repeating-linear-gradient(90deg,transparent,transparent 24px,rgba(0,212,255,.04) 24px,rgba(0,212,255,.04) 25px),linear-gradient(180deg,rgba(0,212,255,.08),transparent);border:1px dashed var(--ru-border);display:grid;place-items:center;color:var(--ru-text-secondary);font-size:.9rem}.activity-meta{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1rem}.activity-meta strong{color:var(--ru-accent-amber);font-family:var(--ru-mono)}
