/* DrawDay overrides on top of Pico.css — kept deliberately small. */
:root {
  --pico-font-family: system-ui, "Segoe UI", sans-serif;
}
.brand { text-decoration: none; }
.muted { color: var(--pico-muted-color); }
.inline-form { display: inline; margin: 0; }
button.slim { padding: 0.25rem 0.75rem; margin: 0; }

.flash { padding: 0.75rem 1rem; margin-bottom: 1rem; }
.flash-success { border-left: 4px solid #2e7d32; }
.flash-error { border-left: 4px solid #c62828; }

.stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.stat { padding: 1rem 1.25rem; border: 1px solid var(--pico-muted-border-color); border-radius: 8px; }
.stat .label { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--pico-muted-color); }
.stat .value { font-size: 1.6rem; font-weight: 700; }
.stat.headline .value { color: #1a7f37; }

table.data td.num, table.data th.num { text-align: right; font-variant-numeric: tabular-nums; }
.status-pill { display: inline-block; padding: 0.1rem 0.6rem; border-radius: 999px; font-size: 0.8rem; border: 1px solid var(--pico-muted-border-color); }
.status-funded { background: #e6f4ea; border-color: #1a7f37; }
.status-submitted { background: #e8f0fe; border-color: #1a56db; }
.status-returned { background: #fdecea; border-color: #c62828; }
.status-draft, .status-assembling { background: #f5f5f5; }
.status-ready { background: #fff8e1; border-color: #b26a00; }

.actions { display: flex; gap: 0.5rem; align-items: center; }
h1 small { font-size: 1rem; font-weight: 400; color: var(--pico-muted-color); display: block; }

/* SOV spreadsheet editor */
.sov-grid input.cell { margin: 0; padding: 0.2rem 0.4rem; border-radius: 3px; font-size: 0.9rem; height: auto; }
.sov-grid input.cell.num { text-align: right; font-variant-numeric: tabular-nums; }
.sov-grid td { padding: 0.15rem 0.25rem; }
.sov-grid .cell-error { border-color: #c62828; background: #fdecea; }
.sov-grid tr.dirty td:first-child { border-left: 3px solid #b26a00; }
.sov-grid tfoot th { font-variant-numeric: tabular-nums; }

/* Template studio */
.studio-layout { display: grid; grid-template-columns: minmax(24rem, 46%) 1fr; gap: 1rem; align-items: start; }
#spec-editor { font-family: ui-monospace, Consolas, monospace; font-size: 0.8rem; min-height: 30rem; white-space: pre; }
.studio-preview iframe { width: 100%; height: 42rem; border: 1px solid var(--pico-muted-border-color); border-radius: 6px; background: #fff; }
.field-ref ul { columns: 2; font-size: 0.85rem; }
@media (max-width: 1100px) { .studio-layout { grid-template-columns: 1fr; } }

/* Checklist status pills */
.checklist-missing { background: #fdecea; border-color: #c62828; }
.checklist-requested { background: #fff8e1; border-color: #b26a00; }
.checklist-received { background: #e8f0fe; border-color: #1a56db; }
.checklist-approved { background: #e6f4ea; border-color: #1a7f37; }
.checklist-waived { background: #f5f5f5; color: #666; }
.upload-form { display: flex; gap: 0.4rem; align-items: center; }
.upload-form input[type=file] { margin: 0; padding: 0.15rem; font-size: 0.8rem; max-width: 14rem; }

/* Impersonation banner */
.hijack-banner { background: #b26a00; color: #fff; padding: 0.5rem 1rem; display: flex; gap: 1rem; align-items: center; justify-content: center; position: sticky; top: 0; z-index: 50; }
.hijack-banner form button { background: #fff; color: #b26a00; border: none; }

/* Template request status pills */
.request-new { background: #fff8e1; border-color: #b26a00; }
.request-in_progress { background: #e8f0fe; border-color: #1a56db; }
.request-ready { background: #e6f4ea; border-color: #1a7f37; }
