:root{--toa-bg:#04070e;--toa-surface:#080d18;--toa-surface2:#0c1220;--toa-surface3:#0e1828;--toa-border:#243344;--toa-border2:#2e4159;--toa-text:#f8fafc;--toa-muted:#7a8fa8;--toa-dim:#3d5166;--toa-hint:#243344;--green-50:#ecfdf5;--green-100:#d1fae5;--green-200:#a7f3d0;--green-300:#6ee7b7;--green-400:#3ed077;--green-500:#22c55e;--green-600:#16a34a;--green-700:#15803d;--green-800:#166534;--green-900:#14532d;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-400:#4d9fe3;--blue-500:#2585da;--blue-600:#1b6cb8;--blue-700:#1a5ea3;--blue-800:#1a4f8c;--blue-900:#172e5c;--violet-50:#f5f3ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-300:#c4b5fd;--violet-400:#b86ef8;--violet-500:#a855f7;--violet-600:#8b33d4;--violet-700:#7c2cc0;--violet-800:#6522a8;--violet-900:#4a1780;--toa-danger:#f87171;--toa-warn:#f59e0b;--bd-green:rgba(34,197,94,.25);--bd-blue:rgba(37,133,218,.25);--bd-violet:rgba(168,85,247,.25);--bd-danger:rgba(248,113,113,.25);--bd-warn:rgba(245,158,11,.25);--glow-green:rgba(34,197,94,.15);--glow-blue:rgba(37,133,218,.15);--glow-violet:rgba(168,85,247,.15);--toa-font:"Courier New","Courier",monospace;--bp-mobile:640px;--bp-tablet:1023px;--bp-max:1080px}[data-theme=portal]{--app-accent:var(--green-500);--app-accent-h:var(--green-400);--app-accent-a:var(--green-600);--app-secondary:var(--blue-500);--app-highlight:var(--violet-500);--app-stripe:var(--green-500);--logo-colon:var(--blue-500);--logo-slash1:var(--green-500);--logo-slash2:var(--violet-500)}[data-theme=gaming]{--app-accent:var(--green-400);--app-accent-h:var(--green-300);--app-accent-a:var(--green-500);--app-secondary:var(--blue-400);--app-secondary-h:var(--blue-300);--app-highlight:var(--violet-400);--app-stripe:var(--green-400);--logo-sep:var(--green-400)}[data-theme=software]{--app-accent:var(--blue-500);--app-accent-h:var(--blue-400);--app-accent-a:var(--blue-600);--app-secondary:var(--green-600);--app-secondary-h:var(--green-500);--app-highlight:var(--violet-600);--app-stripe:var(--green-500);--logo-sep:var(--blue-500)}[data-theme=auth]{--app-accent:var(--violet-500);--app-accent-h:var(--violet-400);--app-accent-a:var(--violet-600);--app-secondary:var(--blue-600);--app-secondary-h:var(--blue-500);--app-highlight:var(--violet-300);--app-stripe:var(--violet-500);--logo-sep:var(--violet-500)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--toa-bg);color:var(--toa-text);font-family:var(--toa-font);font-size:12px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}.page-wrap{margin:0 auto;max-width:1080px;padding:0 20px}.topstripe{background:var(--app-stripe,var(--green-500));height:3px;width:100%}.sec-hd{align-items:stretch;border:2px solid var(--toa-border);display:flex;margin-bottom:12px}.sec-hd-label{align-items:center;background:var(--toa-border);color:var(--toa-bg);display:flex;font-size:7px;font-weight:700;letter-spacing:3px;padding:6px 14px}.sec-hd-line{flex:1}.card,.sec-hd-line{background:var(--toa-surface)}.card{border:1px solid var(--toa-border);border-left:3px solid var(--app-accent);padding:16px;transition:background .1s,border-color .1s}.card:hover{background:#ffffff04;border-color:var(--toa-border2)}.data-table{border-collapse:collapse;width:100%}.data-table th{background:var(--toa-surface2);color:var(--toa-dim);font-size:8px;font-weight:700;letter-spacing:2px;text-align:left;text-transform:uppercase}.data-table td,.data-table th{border-bottom:1px solid var(--toa-border);padding:10px 12px}.data-table td{color:var(--toa-muted);font-size:11px}.data-table tr:hover td{background:var(--toa-surface2)}.field{margin-bottom:16px}.field-label{color:var(--toa-dim);display:block;font-size:8px;font-weight:700;letter-spacing:2px;margin-bottom:6px;text-transform:uppercase}.input,.select,.textarea{background:var(--toa-surface2);border:1px solid var(--toa-border);color:var(--toa-text);font-family:var(--toa-font);font-size:11px;padding:9px 12px;transition:border-color .1s;width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--app-accent);outline:none}.textarea{min-height:120px;resize:vertical}.badge{border:1px solid;border-radius:0;display:inline-block;font-size:7px;font-weight:700;letter-spacing:1.5px;padding:2px 7px;text-transform:uppercase}.badge-live{background:color-mix(in srgb,var(--green-500) 10%,transparent);border-color:color-mix(in srgb,var(--green-500) 25%,transparent);color:var(--green-500)}.badge-wip{background:color-mix(in srgb,var(--app-accent) 10%,transparent);border-color:color-mix(in srgb,var(--app-accent) 25%,transparent);color:var(--app-accent)}.badge-planned{background:color-mix(in srgb,var(--toa-hint) 10%,transparent);border-color:color-mix(in srgb,var(--toa-hint) 20%,transparent);color:var(--toa-hint)}.badge-draft{background:color-mix(in srgb,var(--toa-dim) 10%,transparent);border-color:color-mix(in srgb,var(--toa-dim) 25%,transparent);color:var(--toa-dim)}.badge-published{background:color-mix(in srgb,var(--green-500) 10%,transparent);border-color:color-mix(in srgb,var(--green-500) 25%,transparent);color:var(--green-500)}.btn{align-items:center;border:none;border-radius:0;cursor:pointer;display:inline-flex;font-family:var(--toa-font);font-size:11px;font-weight:700;justify-content:center;padding:9px 18px;text-decoration:none;transition:background .1s,border-color .1s}.btn-primary{background:var(--app-accent);color:var(--toa-bg)}.btn-primary:hover{background:var(--app-accent-h)}.btn-ghost{background:none;border:1px solid var(--toa-border);color:var(--toa-muted)}.btn-ghost:hover{background:var(--toa-surface2);border-color:var(--toa-border2)}.btn-danger{background:var(--toa-danger);color:var(--toa-bg)}.btn-danger:hover{background:color-mix(in srgb,var(--toa-danger) 80%,transparent)}.layout-sidebar{display:grid;gap:20px;grid-template-columns:200px 1fr;min-height:calc(100vh - 55px)}.sidebar-item.active{background:color-mix(in srgb,var(--app-accent) 8%,transparent);border-left:3px solid var(--app-accent)}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.text-right{text-align:right}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}
