:root{--app-bg: #07111a;--app-bg-elevated: #0d1822;--app-bg-panel: rgba(10, 20, 30, .92);--app-bg-soft: rgba(9, 17, 25, .78);--app-border: #203241;--app-border-strong: #2d475e;--app-copy: #eef7ff;--app-copy-muted: #8ea8bb;--app-copy-soft: #6f8697;--app-accent: #58dbff;--app-accent-strong: #8ceaff;--app-danger: #ff8793;--app-success: #a4f0ba;--app-shadow: 0 22px 60px rgba(0, 0, 0, .34);--app-radius: 14px;--font-sans: "Avenir Next", "SF Pro Display", "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", ui-monospace, monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{min-height:100%}body{font-family:var(--font-sans);background:radial-gradient(circle at top left,rgba(88,219,255,.12),transparent 24%),radial-gradient(circle at top right,rgba(124,102,255,.08),transparent 18%),linear-gradient(180deg,#061017,#08131c);color:var(--app-copy)}html,*{scrollbar-width:thin;scrollbar-color:rgba(84,116,148,.92) rgba(10,16,23,.92)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#0a1017f5;border-left:1px solid rgba(79,126,171,.14);border-top:1px solid rgba(79,126,171,.14)}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#678cb2fa,#4a6888fa);border:2px solid rgba(10,16,23,.96);border-radius:999px;min-height:36px}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7ca7d3,#587ea7)}*::-webkit-scrollbar-corner{background:#0a1017f5}#app{min-height:100vh}.nav{position:sticky;top:0;z-index:40;min-height:58px;background:#070f16e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(60,95,121,.34);display:flex;align-items:center;justify-content:center;padding:0 24px;position:relative}.nav:after{content:"";position:absolute;inset:auto 24px 0 24px;height:1px;background:linear-gradient(90deg,transparent,rgba(88,219,255,.24),transparent)}.nav .logo{position:absolute;left:24px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.logo-mark{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(88,219,255,.38);background:linear-gradient(135deg,#58dbff38,#58dbff0a),#0d1822;color:var(--app-accent-strong);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}.logo-copy{display:grid}.logo-text{font-size:15px;line-height:1.05}.logo-subtitle{color:var(--app-copy-soft);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.nav-links{display:flex;gap:8px;overflow-x:auto}.nav-links a{color:var(--app-copy-muted);text-decoration:none;padding:8px 12px;border:1px solid transparent;font-size:13px;transition:all .18s ease}.nav-links a:hover{border-color:#58dbff29;background:#0b151fd1;color:var(--app-copy)}.nav-links a.router-link-active{border-color:#58dbff4d;background:#58dbff1a;color:var(--app-accent-strong)}.nav-user{position:absolute;right:24px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--app-copy-muted);max-width:42vw;min-width:0}.role-badge{border:1px solid rgba(164,240,186,.38);background:#132b1beb;color:var(--app-success);padding:4px 8px;font-size:11px;letter-spacing:.04em}.logout-btn{border:1px solid var(--app-border-strong);background:#0a121beb;color:var(--app-copy);padding:7px 12px;cursor:pointer}.main{padding:28px}.main.full-height{padding:0;height:100vh}.main.no-padding{padding:0;overflow:visible}::selection{background:#58dbff42;color:#fff}@media (max-width: 1100px){.nav{justify-content:flex-end;gap:12px;padding:12px 16px;flex-wrap:wrap}.nav .logo,.nav-user{position:static}.nav-links{order:3;width:100%;justify-content:flex-start}.nav-user{max-width:100%}}
