:root {
  color-scheme: dark;
  --panel: rgba(17,24,39,.72);
  --panel2: rgba(31,41,55,.7);
  --line: #334155;
  --text: #e5e7eb;
  --muted: #94a3b8;
  --accent: #38bdf8;
  --good: #22c55e;
  --warn: #f59e0b;
  --danger: #ef4444;
  font-family: Inter, Segoe UI, Roboto, sans-serif;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  min-height: 100vh;
  background: linear-gradient(180deg, rgba(2,6,23,.95), rgba(17,24,39,.96)), radial-gradient(circle at top right, rgba(245,158,11,.08), transparent 30%), radial-gradient(circle at bottom left, rgba(56,189,248,.08), transparent 30%);
  color: var(--text);
  position: relative;
  overflow-x: hidden;
}
.background-logo { position: fixed; inset: 0; background: url('/assets/gala-logo.png') center/ min(74vw, 860px) no-repeat; opacity: 1; pointer-events: none; z-index: 0; }
.shell { max-width: 1320px; margin: 0 auto; padding: 28px 18px 60px; position: relative; z-index: 1; }
.panel, .card, .column, .task-card, .stat { background: var(--panel); border: 1px solid rgba(51,65,85,.95); border-radius: 20px; backdrop-filter: blur(6px); }
.panel { padding: 20px; margin-bottom: 18px; }
.compact-panel { padding: 16px 20px; }
.login-panel { max-width: 560px; margin: 60px auto; }
.hidden { display: none !important; }
.brand-block, .large-brand-block, .topbar, .topbar-actions, .tabs, .stats, .two-column, .stack, .grid, .form-actions, .actions, .badges, .task-head, .section-head, .lead-meta, .filters { display: flex; gap: 12px; flex-wrap: wrap; }
.large-brand-block { align-items: center; }
.topbar, .section-head, .task-head { justify-content: space-between; align-items: flex-start; }
.tabs { align-items: center; }
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.top-columns { grid-template-columns: 1.2fr 1fr; }
.bottom-columns { grid-template-columns: 1.3fr .9fr; }
.stack { flex-direction: column; }
.brand-logo { object-fit: contain; background: transparent; border: none; padding: 0; box-shadow: none; mix-blend-mode: lighten; }
.large-logo { width: 110px; height: 110px; }
.header-logo { width: 92px; height: 92px; }
.eyebrow { color: var(--accent); text-transform: uppercase; letter-spacing: .1em; font-size: 12px; margin: 0 0 8px; }
label { display: flex; flex-direction: column; gap: 8px; color: var(--muted); font-size: 14px; }
input, select, textarea, button { border-radius: 12px; }
input, select, textarea { width: 100%; padding: 10px 12px; background: rgba(11,18,32,.58); color: var(--text); border: 1px solid rgba(51,65,85,.9); backdrop-filter: blur(6px); }
button { border: none; background: var(--accent); color: #082f49; font-weight: 700; padding: 10px 14px; cursor: pointer; }
button.ghost, .tab, .actions button, .task-card button { background: var(--panel2); color: var(--text); border: 1px solid var(--line); backdrop-filter: blur(4px); }
.tab.active { border-color: var(--accent); color: #7dd3fc; }
.tab-dot { width: 10px; height: 10px; border-radius: 999px; background: var(--danger); display: inline-block; margin-left: 8px; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px,1fr)); }
.stat { padding: 16px; }
.stat strong { display: block; font-size: 28px; margin-top: 8px; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); }
.board { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px,1fr)); gap: 16px; }
.column { padding: 16px; }
.column-body { display: flex; flex-direction: column; gap: 12px; min-height: 140px; }
.card, .task-card { padding: 16px; }
.meta, .muted, .empty, .small { color: var(--muted); font-size: 14px; }
.pill, .badge { display: inline-block; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line); font-size: 12px; font-weight: 700; text-transform: capitalize; }
.pill.pending, .badge.warn { color: #fde68a; border-color: var(--warn); }
.pill.approved, .badge.good { color: #86efac; border-color: var(--good); }
.pill.rejected, .badge.overdue { color: #fca5a5; border-color: var(--danger); }
.pill.sent { color: #7dd3fc; border-color: var(--accent); }
.pill.followup { color: #fde68a; border-color: var(--warn); }
.actions button.approve { border-color: var(--good); color: #86efac; }
.actions button.reject, .actions button.delete { border-color: var(--danger); color: #fca5a5; }
.actions button.sent { border-color: var(--accent); color: #7dd3fc; }
.priority.low { color: #86efac; }
.priority.medium { color: #93c5fd; }
.priority.high { color: #fcd34d; }
.priority.urgent { color: #fca5a5; }
.error { color: #fca5a5; }
@media (max-width: 960px) { .two-column, .top-columns, .bottom-columns { grid-template-columns: 1fr; } .topbar { flex-direction: column; } }
