:root{--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg: #08090c;--bg-elevated: #101218;--bg-soft: #151922;--bg-muted: #1b202b;--surface: rgba(16, 18, 24, .88);--surface-strong: #0f131a;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .12);--text: #f5f7fb;--text-soft: #b0b7c4;--text-faint: #8690a3;--accent: #ef4444;--accent-strong: #dc2626;--accent-soft: rgba(239, 68, 68, .16);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow: 0 24px 60px rgba(0, 0, 0, .28);color:var(--text);background:var(--bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:geometricPrecision}:root[data-theme=light]{--bg: #f4f6fb;--bg-elevated: #ffffff;--bg-soft: #eef2f8;--bg-muted: #e5ebf5;--surface: rgba(255, 255, 255, .88);--surface-strong: #ffffff;--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .12);--text: #111827;--text-soft: #475569;--text-faint: #64748b;--accent: #dc2626;--accent-strong: #b91c1c;--accent-soft: rgba(220, 38, 38, .1);--success: #15803d;--warning: #b45309;--danger: #b91c1c;--shadow: 0 20px 48px rgba(15, 23, 42, .08)}*{box-sizing:border-box}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}html,body,#root{min-height:100%}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,var(--accent-soft),transparent 26%),linear-gradient(180deg,var(--bg-soft) 0%,var(--bg) 24%,var(--bg) 100%);color:var(--text)}button,input,select{font:inherit}button,input,select,details,summary{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,opacity .16s ease}button{border:1px solid transparent;border-radius:8px;cursor:pointer;color:#fff;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-strong) 100%);padding:10px 14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 24px #dc262629}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 75%,white);outline-offset:2px}input,select{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text);padding:11px 12px;outline:none;box-shadow:inset 0 1px #ffffff05}input::placeholder{color:var(--text-faint)}input:focus,select:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-soft) 70%,transparent)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative}.login-panel{width:min(480px,100%);border:1px solid var(--border);border-radius:8px;background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:32px;box-shadow:var(--shadow);animation:rise-in .32s ease both}.login-brand{display:flex;align-items:center;gap:18px;margin-bottom:18px}.login-copy{display:grid;gap:6px}.brand-mark{width:48px;height:48px;border:1px solid var(--border);border-radius:8px;background:#000;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.brand-mark.large{width:82px;height:82px}.brand-mark img{width:100%;height:100%;object-fit:cover}.eyebrow{margin:0;color:var(--accent);text-transform:uppercase;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{font-size:40px;line-height:1.02;margin-bottom:0}h2{font-size:32px;line-height:1.04;margin-bottom:0}h3{font-size:18px;line-height:1.2;margin-bottom:0}.muted{color:var(--text-soft)}.small-text{font-size:12px}.login-form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:8px;color:var(--text-soft);font-size:13px;font-weight:700}.alert{border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--bg-elevated));color:color-mix(in srgb,var(--danger) 82%,var(--text));padding:12px;border-radius:8px}.theme-toggle{background:var(--bg-elevated);color:var(--text);border-color:var(--border);box-shadow:none}.theme-toggle.floating{position:absolute;top:24px;right:24px}.app-shell{min-height:100vh;display:grid;grid-template-columns:256px 1fr;animation:rise-in .28s ease both}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:24px 18px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand strong,.brand span{display:block}.brand span{color:var(--text-faint);font-size:13px}nav{display:grid;gap:8px}.nav-item,.logout{width:100%;justify-content:flex-start;background:transparent;border-color:transparent;color:var(--text-soft);box-shadow:none}.nav-item:hover,.logout:hover,.theme-toggle:hover{background:var(--bg-soft);color:var(--text)}.nav-item.active{background:var(--bg-elevated);color:var(--text);border-color:var(--border)}.logout{margin-top:auto}.workspace{padding:30px;overflow:hidden}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.topbar-copy{display:grid;gap:6px}.topbar-actions{display:flex;align-items:center;gap:12px}.operator{border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px;color:var(--text-soft);background:var(--bg-elevated)}.operator b{color:var(--success)}.hero-strip{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 80%,transparent),transparent 62%),var(--surface);padding:22px;box-shadow:var(--shadow);animation:rise-in .34s ease both}.hero-strip h3{font-size:22px;margin:4px 0 8px}.hero-metrics{display:grid;gap:10px;min-width:210px}.hero-metrics span{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);color:var(--text-soft)}.hero-metrics b{color:var(--text)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head h3{margin-bottom:4px}.section-head p,.settings-form small{color:var(--text-faint);font-size:12px;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.stat-card,.panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow);animation:rise-in .34s ease both}.stat-card{padding:18px;display:grid;gap:10px}.stat-card svg{color:var(--accent)}.stat-card span{color:var(--text-faint);font-size:13px;font-weight:700}.stat-card strong{font-size:34px}.split-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px;margin-top:14px}.panel{padding:18px;margin-top:14px}.table{display:grid;gap:8px}.table-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);align-items:center}.table-row:hover,.health-row:hover,.log-line:hover,.action-list div:hover,.user-row:hover,.guild-list details:hover{border-color:var(--border-strong);transform:translateY(-1px)}.health-list{display:grid;gap:8px}.health-row{display:grid;grid-template-columns:minmax(220px,1fr) 110px 90px 110px;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.health-row strong,.health-row span{display:block}.health-row span{color:var(--text-soft)}.table-head{color:var(--text-faint);font-size:12px;font-weight:800;text-transform:uppercase;background:transparent;border-style:dashed}.status{width:fit-content;border-radius:999px;padding:5px 10px;background:var(--bg-muted);color:var(--text-soft);font-size:12px;font-weight:800;text-transform:capitalize}.status.online{background:color-mix(in srgb,var(--success) 15%,var(--bg-elevated));color:var(--success)}.status.offline{background:var(--bg-muted);color:var(--text-faint)}.status.error{background:color-mix(in srgb,var(--danger) 14%,var(--bg-elevated));color:var(--danger)}.status.starting,.status.stopping{background:color-mix(in srgb,var(--warning) 14%,var(--bg-elevated));color:var(--warning)}.log-stream{display:grid;gap:8px;max-height:520px;overflow:auto}.log-line{display:grid;grid-template-columns:82px 58px 170px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated)}.log-line p{margin:0;color:var(--text-soft)}.log-line span{color:var(--text-faint);font-size:12px}.log-line b{text-transform:uppercase;font-size:11px}.log-line b.error,.bad{color:var(--danger)}.log-line b.warn{color:var(--warning)}.log-line b.info,.ok{color:var(--success)}.action-list{display:grid;gap:8px}.action-list div{display:grid;grid-template-columns:24px 1fr 1fr 180px;gap:10px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elevated);align-items:center}.bot-grid,.settings-stack{display:grid;gap:14px}.bot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bot-card{margin-top:0}.bot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bot-head p{color:var(--text-faint);margin:4px 0 0}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.metric-row span{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:12px;color:var(--text-faint)}.metric-row b{display:block;color:var(--text);margin-top:6px}.button-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.button-row button:nth-child(2),.secondary-button{background:var(--bg-elevated);color:var(--text);border-color:var(--border);box-shadow:none}.button-row button:nth-child(3){background:linear-gradient(180deg,#15803d,#166534);box-shadow:0 10px 24px #15803d29}.danger-button{background:color-mix(in srgb,var(--danger) 8%,var(--bg-elevated));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 22%,var(--border));box-shadow:none}.presence-form,.settings-form{display:grid;gap:10px;margin-top:14px}.presence-form{grid-template-columns:120px 1fr 140px}.user-list{display:grid;gap:12px}.create-user-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.compact-user-form{grid-template-columns:minmax(240px,1fr) 180px;align-items:end}.user-row{border:1px solid var(--border);border-radius:8px;padding:16px;display:grid;gap:14px;background:var(--bg-elevated)}.user-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.user-row strong,.user-row span{display:block}.user-row span{color:var(--text-faint);font-size:13px}.permission-grid,.permission-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.permission-grid label,.permission-box label{display:flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;padding:10px}.permission-grid input,.permission-box input{width:auto}.permission-box{border:1px solid var(--border);border-radius:8px;padding:12px;display:grid;gap:8px;margin:0;background:var(--surface-strong)}.permission-box legend{color:var(--text);font-weight:800;padding:0 6px}.guild-list{display:grid;gap:8px;margin-top:16px}.guild-list details{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:12px}.guild-list summary{cursor:pointer;color:var(--text);font-weight:700}.guild-list span{display:inline-flex;gap:6px;margin:8px 8px 0 0;padding:6px 8px;border-radius:8px;background:var(--bg-soft);border:1px solid var(--border)}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form button{width:fit-content}.toast-viewport{position:fixed;right:20px;bottom:20px;z-index:1000;display:grid;gap:10px;width:min(360px,calc(100vw - 24px))}.toast{display:grid;grid-template-columns:20px 1fr 20px;gap:12px;align-items:start;padding:12px 14px;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-strong) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);animation:toast-in .18s ease both}.toast-icon{display:grid;place-items:center;color:var(--text-soft);margin-top:1px}.toast-copy{display:grid;gap:4px}.toast-copy strong{font-size:13px;line-height:1.2}.toast-copy span{color:var(--text-soft);font-size:12px;line-height:1.35}.toast.success .toast-icon{color:var(--success)}.toast.error .toast-icon{color:var(--danger)}.toast.loading .toast-icon{color:var(--accent)}.toast-close{background:transparent;border:0;box-shadow:none;color:var(--text-faint);padding:0;min-height:20px}.toast-close:hover{color:var(--text);background:transparent}.spin{animation:spin .9s linear infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.stats-grid,.split-grid,.bot-grid,.permission-grid,.permission-sections,.settings-form,.create-user-form,.hero-strip{grid-template-columns:1fr}.hero-strip{display:grid}}@media(max-width:720px){.workspace,.sidebar,.login-page{padding:16px}.login-panel{padding:22px}.login-brand,.topbar,.topbar-actions,.operator{align-items:flex-start;flex-direction:column}.theme-toggle.floating{position:static;margin-bottom:14px;justify-self:end}.toast-viewport{right:12px;bottom:12px;width:calc(100vw - 24px)}.table-row,.health-row,.log-line,.action-list div,.presence-form{grid-template-columns:1fr}.user-row-head,.section-head{flex-direction:column}h1{font-size:32px}h2{font-size:28px}}
