/* web/campaign-approvals.css
   Campaign approvals page. Layout comes from workroom.css and the tool theme; this sheet
   maps the four existing palettes (white default) and adds a few layout rules only. */

html.tool-theme[data-theme='white']{color-scheme:light;--ink:#f7f7f5;--panel:#ffffff;--raised:#ecece8;--side:#f0f0ec;--line:#d4d4ce;--field-line:#9a9a92;--text:#1a1a1a;--muted:#4f4f4a;--faint:#66665f;--band:#f4f4f2;--band-hover:#e4e4de;--deep:#1a1a1a;--on-deep:#ffffff}
html.tool-theme[data-theme='olive']{color-scheme:light;--ink:#f4f0e2;--panel:#fbf9f1;--raised:#e5e9d3;--side:#ebe7d5;--line:#cdd0b6;--field-line:#a9b093;--text:#171c12;--muted:#4a5540;--faint:#5c6655;--band:#b5c39a;--band-hover:#c7d2af;--deep:#293522;--on-deep:#faf7eb}
html.tool-theme[data-theme='lemon']{color-scheme:light;--ink:#f7f2ff;--panel:#ffffff;--raised:#e9deff;--side:#f0e8ff;--line:#d7c5ff;--field-line:#9f8cc9;--text:#171717;--muted:#4a4458;--faint:#6b6478;--band:#fff6a0;--band-hover:#f3e87a;--deep:#4b2f8f;--on-deep:#ffffff}
html.tool-theme[data-theme='black']{color-scheme:dark;--ink:#0e0e0e;--panel:#161616;--raised:#242424;--side:#121212;--line:#363636;--field-line:#5a5a5a;--text:#e8e8e8;--muted:#b0b0b0;--faint:#8c8c8c;--band:#141414;--band-hover:#242424;--deep:#e8e8e8;--on-deep:#0e0e0e}
html.tool-theme[data-theme]{--olive:var(--band);--olive-deep:var(--deep)}
html.tool-theme[data-theme] .tool-logo{content:url('/brand-logo.svg')}
html.tool-theme[data-theme='black'] .tool-logo{content:url('/brand-logo-on-dark.svg')}

.ca-board{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:var(--space-4,16px);align-items:start}
.ca-note{margin-block:1rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.ca-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.ca-list>li{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:.7rem .85rem;display:grid;gap:.3rem}
.ca-list>li[aria-current='true']{border-color:var(--olive-deep)}
.ca-list button{justify-self:start}
.ca-list p,.ca-text{overflow-wrap:anywhere;white-space:pre-wrap}
.ca-state{font-weight:650}
.ca-form{display:grid;gap:.4rem;margin-block:1rem;padding-block-start:.75rem;border-block-start:1px solid var(--line)}
.ca-form h3{margin:0}
.ca-choice{display:flex;gap:1rem;border:0;padding:0;margin:0}
.ca-timeline{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .9rem;margin-block:.75rem}
.ca-timeline dt{color:var(--muted)}
.ca-timeline dd{margin:0;overflow-wrap:anywhere}
.ca-events{padding-inline-start:1.1rem}
.ca-files{border:1px solid var(--line);border-radius:10px;padding:.5rem .75rem;margin:0;display:grid;gap:.35rem}
.ca-file-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.ca-file-list label{display:flex;align-items:center;gap:.5rem;min-height:2.25rem;overflow-wrap:anywhere}
.ca-file-list input{flex:none;width:1.15rem;height:1.15rem}
.ca-file-links{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}
.ca-feedback{border-inline-start:3px solid var(--line);padding-inline-start:.5rem}
@media(max-width:820px){.ca-board{grid-template-columns:1fr}}
.ca-month-nav{display:flex;align-items:center;gap:1rem;margin-block:.5rem}
.ca-grid{width:100%;table-layout:fixed;border-collapse:collapse;margin-block:.5rem 1rem}
.ca-grid th{font-weight:600;color:var(--muted);text-align:start;padding:.25rem}
.ca-grid td{vertical-align:top;border:1px solid var(--line);background:var(--panel);padding:.25rem;height:5.5rem;overflow:hidden}
.ca-grid td.ca-outside{background:transparent;border-color:transparent}
.ca-day{display:block;font-size:.8rem;color:var(--muted)}
.ca-mark{display:block;width:100%;margin-block-start:.2rem;padding:.15rem .3rem;border:1px solid var(--line);border-radius:6px;background:var(--raised);
  color:var(--text);font:inherit;font-size:.72rem;text-align:start;overflow-wrap:anywhere;cursor:pointer}
.ca-mark-slot{border-color:var(--olive-deep);font-weight:600}
.ca-mark-published{border-style:double;border-width:3px}
.ca-mark-requested{border-style:dashed}
.ca-mark-moved,.ca-mark-cleared{text-decoration:line-through;opacity:.75}
.ca-roles-table{width:100%;border-collapse:collapse}
.ca-roles-table th,.ca-roles-table td{text-align:start;padding:.3rem;border-block-end:1px solid var(--line)}
@media(max-width:820px){
  .ca-grid thead{display:none}
  .ca-grid,.ca-grid tbody,.ca-grid tr,.ca-grid td{display:block;width:auto;height:auto}
  .ca-grid td.ca-outside,.ca-grid td:not(:has(.ca-mark)){display:none}
}
