/* Layout and interaction layer: quiet graphite surfaces, rose accents. */
:root { --bg:#111014; --surface:#1b1920; --surface-2:#24212a; --surface-3:#302936; --accent:#eea1c3; --muted:#ada7b4; --line:#302b36; --radius:12px; }
html { scroll-behavior:auto; }
body { background:var(--bg); line-height:1.5; }
.app-shell { grid-template-columns:216px minmax(0,1fr); }
.sidebar { background:#18161d; padding:26px 12px 18px; }
.brand-row { padding:0 12px 28px; }
.nav-group { margin-bottom:18px; }
nav button { min-height:44px; }
.workspace { padding:28px clamp(18px,3vw,48px) 60px; }
.workspace #page { max-width:1520px; margin:auto; }
.page-head { align-items:center; margin-bottom:24px; }
.page-head h1 { font-size:clamp(26px,3vw,34px); letter-spacing:-.04em; }
.page-head p { max-width:65ch; }
.page-enter { animation:none; }
.grid { align-items:start; gap:20px; }
.card,.panel { border-radius:12px; background:var(--surface); }
.card h2,.panel h2 { font-size:16px; line-height:1.4; margin:0 0 18px; }
.card > p { line-height:1.7; }
.section-block { padding:24px; }
.section-tabs { border:0; border-bottom:1px solid var(--line); background:none; border-radius:0; padding:0; width:100%; gap:16px; margin-bottom:24px; }
.section-tabs button { padding:12px 2px; border-radius:0; border:0; border-bottom:2px solid transparent; min-height:46px; }
.section-tabs button[aria-selected=true] { background:none; border-bottom-color:var(--accent); color:#f8c5dd; }
.section-tabs button:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.metric-card { min-height:176px; background:linear-gradient(135deg,#322330,#201b25); }
.metric-card .metric { font-variant-numeric:tabular-nums; }
button { min-height:42px; }
button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.editor-list { gap:10px; }
.editor-row,.editor-row.news,.editor-row[data-schedule-row] { display:flex; align-items:center; padding:16px; border-radius:10px; background:#16141a; }
.record-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; flex:1; min-width:0; order:1; }
.record-summary > div { min-width:0; display:grid; gap:5px; }
.record-summary strong { font-size:15px; overflow-wrap:anywhere; }
.record-summary small { color:var(--muted); overflow-wrap:anywhere; }
.record-summary button { flex-shrink:0; }
.drag-handle { order:0; flex:0 0 32px; margin-right:12px; border:0; }
.row-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; width:100%; }
.row-fields .inline-upload { grid-column:1/-1; min-width:0; }
.preview-image { width:100px; height:100px; margin-top:10px; }
.week-board { gap:8px; }
.week-column { border-radius:9px; min-width:0; }
.week-entry { padding:10px 8px; line-height:1.5; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:8px; }
table { min-width:560px; width:100%; }
td { overflow-wrap:anywhere; max-width:420px; }
td button { white-space:nowrap; margin:2px; }
.table-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:0 0 12px; }
.table-toolbar input { width:min(300px,100%); margin-right:auto; }
.table-toolbar span { font-size:12px; font-variant-numeric:tabular-nums; }
.table-toolbar button { min-height:34px; font-size:11px; }
.edit-dialog { color:var(--text); background:#211c26; border:1px solid #514052; border-radius:16px; padding:0; width:min(700px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); box-shadow:0 30px 100px #0009; }
.edit-dialog::backdrop { background:#08060db8; backdrop-filter:blur(5px); }
.dialog-head { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 24px; border-bottom:1px solid var(--line); }
.dialog-head h2 { margin:0; font-size:21px; letter-spacing:-.02em; }
.dialog-head .eyebrow { font-size:10px; margin-bottom:3px; }
.dialog-head > button { background:none; font-size:18px; }
.dialog-body { padding:24px; }
.dialog-body .stack { margin-top:0; gap:20px; }
.dialog-body form.editor-row { display:grid; grid-template-columns:1fr 1fr; background:none; padding:0; border:0; gap:18px; }
.dialog-body .actions { flex-wrap:wrap; }
.dialog-foot { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 24px; border-top:1px solid var(--line); background:#19151e; }
.dialog-foot span { font-size:12px; }
.message-summary { display:grid; gap:10px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#17131c; }
.message-summary .irc-preview { padding:8px; border:0; background:none; min-height:0; max-height:140px; overflow:auto; }
.message-summary button { justify-self:start; background:#342635; color:#f3bed8; }
.irc-tools { gap:8px; padding:14px; }
.irc-tools .irc-swatch { width:28px; height:28px; min-height:28px; }
.irc-composer textarea { min-height:180px; padding:16px; }
.text-dialog .irc-preview { min-height:100px; }
.search-form { grid-template-columns:1fr 1fr auto; }
.result { background:#17141c; }
.nick-timeline { display:grid; gap:8px; padding:12px 0; border-top:1px solid var(--line); font-size:12px; }
.nick-timeline > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; }
.nick-timeline small { color:var(--muted); }
.coverage-note { border-left:3px solid var(--accent); padding:16px 20px; background:#261d2a; margin-bottom:20px; border-radius:0 8px 8px 0; }
.coverage-note p { margin:8px 0 0; font-size:13px; color:var(--muted); }
.status { white-space:normal; }
@media(min-width:1200px) { body[data-page=dashboard] .card.wide { grid-column:span 8; } }
@media(max-width:1100px) { .app-shell { grid-template-columns:190px minmax(0,1fr); } .workspace { padding-inline:20px; } .metric-card { grid-column:span 4; } .metric { font-size:28px; } }
@media(max-width:780px) {
 .app-shell { display:block; } .sidebar { width:min(300px,88vw); } .workspace { padding:20px 14px 40px; }
 .page-head { align-items:start; } .page-head .actions { width:100%; } .section-block,.card { padding:18px; }
 .metric-card { grid-column:1/-1; min-height:140px; } .metric { font-size:34px; }
 .section-tabs { gap:20px; } .section-tabs button { flex:0 0 auto; }
 .week-board { grid-template-columns:repeat(7,150px); }
 .editor-row,.editor-row.news,.editor-row[data-schedule-row] { padding:14px; }
 .record-summary { gap:12px; } .record-summary button { width:auto; }
 .row-fields,.dialog-body form.editor-row { grid-template-columns:1fr; } .search-form { grid-template-columns:1fr; }
 .edit-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); } .dialog-head,.dialog-body,.dialog-foot { padding:18px; }
 .dialog-foot { flex-wrap:wrap; } .dialog-foot .primary { margin-left:auto; }
 .table-toolbar input { width:100%; } .table-toolbar span { margin-right:auto; }
 .sidebar-foot { margin-top:20px; }
}
