:root {
  --bg:#101014; --bg-soft:#141419; --surface:#1c1b22; --surface-2:#25232d;
  --surface-3:#302a37; --line:rgba(232,220,241,.09); --line-strong:rgba(232,220,241,.18);
  --text:#f4f0f7; --muted:#aaa4b4; --muted-2:#777180;
  --accent:#ef86b8; --accent-strong:#e866a2; --amber:#d6b1e8; --mint:#8cc9b3;
  --shadow:none; --shadow-soft:0 6px 18px rgba(0,0,0,.15); --radius:14px;
}
body { background:var(--bg); font-size:14px; }
.app-shell { grid-template-columns:232px minmax(0,1fr); }
.sidebar { padding:26px 14px 18px; background:#17161c; overflow-y:auto; }
.brand-row { padding-bottom:32px; }
.brand-mark { transform:none; border-radius:14px; box-shadow:none; background:var(--accent); }
.brand-mark::before { border-radius:11px; }
.brand-mark span { background:var(--accent); box-shadow:13px 0 0 var(--surface); }
.nav-group { margin-bottom:22px; }
nav button { min-height:40px; font-weight:600; font-size:13px; border-radius:8px; }
nav button:hover { transform:none; }
nav button.active { color:#ffeaf5; background:#3a2637; box-shadow:inset 3px 0 var(--accent); }
.nav-icon { color:var(--muted); }
nav button.active .nav-icon { color:var(--accent); }
.workspace { padding:32px clamp(20px,3vw,44px) 56px; }
.workspace > #page { max-width:1600px; }
.page-head { margin-bottom:24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.page-head h1 { font-size:30px; letter-spacing:-1px; font-weight:700; }
.page-head .eyebrow { color:var(--muted-2); font-size:10px; }
.page-head p:not(.eyebrow) { font-size:13px; line-height:1.6; }
.grid { gap:16px; }
.card,.panel { background:#1c1b22; box-shadow:none; border-color:var(--line); }
.card { padding:20px; }
.card::before,.panel::before,.metric-card::after { display:none; }
.card h2,.panel h2 { font-size:15px; font-weight:650; letter-spacing:-.2px; }
.metric-card { min-height:166px; background:linear-gradient(120deg,#2f2334,#211e28); }
.metric-card:nth-child(2) { background:linear-gradient(120deg,#332333,#211e28); }
.metric-card:nth-child(3) { background:linear-gradient(120deg,#282332,#211e28); }
.metric { font-size:36px; margin-top:12px; font-weight:720; }
.metric-dot { box-shadow:none; width:7px; height:7px; }
.bar { height:5px; }
.bar span { background:var(--accent); transition:width .5s ease; }
button { min-height:38px; border-radius:8px; font-size:12px; font-weight:650; }
button:hover { transform:none; }
.primary { background:var(--accent); box-shadow:none; color:#291520; }
.primary:hover { box-shadow:none; color:#291520; }
input,select,textarea { border-radius:8px; background:#15141a; min-height:40px; font-size:13px; }
input:focus,select:focus,textarea:focus { background:#19151e; box-shadow:0 0 0 3px rgba(239,134,184,.1); }
label { font-size:12px; color:#d2cbd9; font-weight:600; }
.section-tabs { display:flex; gap:6px; margin-bottom:22px; padding:5px; background:#17161d; border:1px solid var(--line); border-radius:10px; width:fit-content; max-width:100%; overflow-x:auto; }
.section-tabs button { background:transparent; white-space:nowrap; color:var(--muted); padding:9px 16px; }
.section-tabs button[aria-selected="true"] { color:#ffd8ec; background:#392637; }
.editor-row { background:#17161c; padding:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.editor-row.news { grid-template-columns:repeat(2,minmax(0,1fr)); }
.editor-row .inline-upload { grid-column:1/-1; }
.editor-row > .danger { justify-self:start; }
.editor-row[data-schedule-row] { grid-template-columns:32px repeat(4,minmax(100px,1fr)) auto; }
.week-entry { background:#362334; border-color:var(--accent); }
.week-column { background:#17161c; }
.section-heading p,.section-note { font-size:13px; line-height:1.6; }
.table-wrap { border-radius:9px; }
th { background:#25212d; font-size:10px; letter-spacing:.06em; }
td { font-size:12px; padding:14px 12px; }
tbody tr:nth-child(even) { background:rgba(255,255,255,.015); }
tbody tr:hover { background:rgba(239,134,184,.05); }
.status { font-size:10px; font-weight:650; }
.empty { padding:24px; background:#18171e; border-style:solid; font-size:13px; }
.result { padding:18px; background:#17161d; border:1px solid var(--line); border-radius:10px; margin-bottom:12px; }
.result:last-child { border:1px solid var(--line); }
.result-head strong { font-size:16px; }
.result-head > span { color:var(--accent); font-size:12px; }
.tag { border-radius:7px; line-height:1.7; }
.irc-composer { border:1px solid var(--line-strong); border-radius:10px; overflow:hidden; }
.irc-tools { display:flex; flex-wrap:wrap; align-items:center; gap:6px; padding:10px; background:#28212f; }
.irc-tools button { min-height:28px; padding:4px 8px; }
.irc-tools .irc-swatch { width:22px; height:22px; min-height:22px; padding:0; border:2px solid rgba(255,255,255,.15); border-radius:5px; }
.irc-composer textarea { border:0; border-radius:0; min-height:110px; }
.irc-preview { background:#121116; border-top:1px solid var(--line); padding:16px; min-height:64px; white-space:pre-wrap; overflow-wrap:anywhere; font-weight:400; line-height:1.7; }
.irc-bold { font-weight:700; }
.irc-italic { font-style:italic; }
.irc-underline { text-decoration:underline; }
.irc-color-0 { color:#ffffff; }
.irc-bg-0 { background:#ffffff; }
.irc-color-1 { color:#cccccc; }
.irc-bg-1 { background:#cccccc; }
.irc-color-2 { color:#4d9fff; }
.irc-bg-2 { background:#4d9fff; }
.irc-color-3 { color:#39ff6e; }
.irc-bg-3 { background:#39ff6e; }
.irc-color-4 { color:#ff4d4d; }
.irc-bg-4 { background:#ff4d4d; }
.irc-color-5 { color:#ff6b35; }
.irc-bg-5 { background:#ff6b35; }
.irc-color-6 { color:#d966ff; }
.irc-bg-6 { background:#d966ff; }
.irc-color-7 { color:#ffaa00; }
.irc-bg-7 { background:#ffaa00; }
.irc-color-8 { color:#ffff00; }
.irc-bg-8 { background:#ffff00; }
.irc-color-9 { color:#80ff00; }
.irc-bg-9 { background:#80ff00; }
.irc-color-10 { color:#00e5ff; }
.irc-bg-10 { background:#00e5ff; }
.irc-color-11 { color:#00ffff; }
.irc-bg-11 { background:#00ffff; }
.irc-color-12 { color:#5b8aff; }
.irc-bg-12 { background:#5b8aff; }
.irc-color-13 { color:#ff66ff; }
.irc-bg-13 { background:#ff66ff; }
.irc-color-14 { color:#aaaaaa; }
.irc-bg-14 { background:#aaaaaa; }
.irc-color-15 { color:#e0e0e0; }
.irc-bg-15 { background:#e0e0e0; }
.login-card { background:#1c1b22; box-shadow:0 30px 100px #0005; }
.login-card h1 { font-size:38px; }
.split button { justify-self:start; }
.actions { justify-content:flex-start; }
.page-head .actions { justify-content:flex-end; }
.sidebar-foot { font-size:12px; }
@media(max-width:1200px) {
 .editor-row[data-schedule-row] { grid-template-columns:32px repeat(2,minmax(0,1fr)); }
}
@media(max-width:900px) {
 .app-shell { grid-template-columns:200px minmax(0,1fr); }
 .metric-card { grid-column:1/-1; min-height:140px; }
 .workspace { padding-inline:20px; }
}
@media(max-width:780px) {
 .app-shell { display:block; }
 .sidebar { width:min(300px,88vw); }
 .mobile-header { background:rgba(23,22,28,.96); }
 .workspace { padding:24px 14px 50px; }
 .page-head h1 { font-size:28px; }
 .page-head .actions { justify-content:flex-start; }
 .card { padding:17px; }
 .editor-row,.editor-row.news,.editor-row[data-schedule-row] { grid-template-columns:1fr; }
 .section-tabs { width:100%; }
 .section-tabs button { flex:1 0 auto; }
 .metric-card { min-height:145px; }
 .page-head { gap:14px; }
}
