@font-face{font-family:Sora-ExtraBold;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Sora-800-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora-ExtraBold;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Sora-800-latin.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-400-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-400-latin.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-500-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-500-latin.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-600-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-600-latin.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400-latin.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500-latin.woff2) format("woff2");unicode-range:u+00??,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{color-scheme:dark;--color-bg:#0a0a0a;--bg-glow:radial-gradient(1200px 600px at 85% -10%,rgba(197,89,235,0.1),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(37,203,251,0.07),transparent 60%);--surface:linear-gradient(135deg,#1a1a2e,#2d1b3d);--surface-flat:#16161f;--surface-sunken:#0f0f16;--surface-input:#111119;--color-line:#2c2c3d;--color-line-strong:#3d3d55;--color-text:#ececf5;--color-text-muted:#9a9ab0;--color-cyan:#25cbfb;--color-violet:#c559eb;--brand-gradient:linear-gradient(120deg,#25cbfb,#c559eb);--color-danger:#ff5a5f;--color-warning:#ffb020;--color-success:#3ddc97;--color-info:#25cbfb;--font-display:"Sora-ExtraBold",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:18px;--text-lg:24px;--text-xl:32px;--text-2xl:64px;--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--sidebar-width:220px;--content-max:1180px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--duration-short:200ms;--hover-glow:0 0 16px rgba(197,89,235,0.45);--hover-fill:rgba(197,89,235,0.22)}*,:after,:before{box-sizing:border-box}body,html{margin:0}body{min-height:100vh;background-color:var(--color-bg);background-image:var(--bg-glow);background-attachment:fixed;color:var(--color-text);font:400 var(--text-base) /1.55 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0}a{color:var(--color-cyan)}.muted{color:var(--color-text-muted)}.brand-text{background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.section-title{color:var(--color-violet);font-size:var(--text-md)}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel{background:var(--surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-lg)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);font:500 14px var(--font-body);border-radius:var(--radius-sm);padding:10px 18px;border:1px solid transparent;background:none;color:var(--color-text);cursor:pointer;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:focus-visible,.input:focus-visible,.nav-link:focus-visible,.select:focus-visible{outline:2px solid var(--color-cyan);outline-offset:2px}.btn-primary{border-color:var(--color-cyan);color:var(--color-cyan);transition:background-color var(--duration-short) var(--ease-out),box-shadow var(--duration-short) var(--ease-out),transform var(--duration-short) var(--ease-out),border-color var(--duration-short),color var(--duration-short)}.btn-primary:hover:not(:disabled){background:var(--hover-fill);border-color:var(--color-violet);color:var(--color-text);box-shadow:var(--hover-glow);transform:translateY(-1px)}.btn-secondary{border-color:var(--color-line);background:#1d1d2a}.btn-secondary:hover:not(:disabled){border-color:var(--color-line-strong)}.btn-ghost{color:var(--color-text-muted);padding:8px 10px}.btn-ghost:hover,.input,.select{color:var(--color-text)}.input,.select{font:400 14px var(--font-body);background:var(--surface-input);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:8px 10px}.alert{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid;font-size:14px}.alert-danger{border-color:rgba(255,90,95,.45);background:rgba(255,90,95,.09)}.alert-success{border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.08)}.alert-info{border-color:rgba(37,203,251,.4);background:rgba(37,203,251,.07)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:500;padding:3px 9px;border-radius:var(--radius-full);border:1px solid}.badge-admin{color:var(--color-violet);border-color:rgba(197,89,235,.5)}.badge-neutral{color:var(--color-text-muted);border-color:var(--color-line)}.table{width:100%;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table td,.table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-line);vertical-align:middle}.table th{font-weight:500;color:var(--color-text-muted);font-size:var(--text-sm)}.table tbody tr{transition:background-color .15s var(--ease-out)}.table tbody tr:hover{background:rgba(255,255,255,.03)}.table-wrap{overflow-x:auto}.app{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{background:var(--surface-sunken);border-right:1px solid var(--color-line);padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);position:-webkit-sticky;position:sticky;top:0;height:100vh}.sidebar-brand{font-family:var(--font-display);font-size:var(--text-md);padding:0 10px;margin-bottom:var(--space-lg)}.nav-link{display:block;padding:9px 10px;border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;font-size:14px}.nav-link:hover{color:var(--color-text);background:rgba(255,255,255,.03)}.nav-link[aria-current=page]{color:var(--color-cyan);background:rgba(37,203,251,.08)}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:var(--space-xs)}.main{padding:var(--space-lg);width:100%;max-width:var(--content-max)}.topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--brand-gradient);flex:none}.member{display:flex;align-items:center;gap:10px}.member .avatar{width:28px;height:28px}@media (max-width:760px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--color-line);padding:var(--space-sm) var(--space-md)}.sidebar-brand{display:none}.sidebar-bottom{margin-top:0;flex-direction:row}.nav-link{white-space:nowrap}.main{padding:var(--space-md)}}