/* Owner executive dashboard (Task 8). Exec module tokens (identity.css: navy + gold). Every number is text; colour is never
   the only signal (▲/▼ + words on deltas, values on bars, legend text). */
.ex-head{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:12px}
.ex-toggle,.ex-biz{display:flex;flex-wrap:wrap;gap:6px}
.ex-toggle button,.ex-biz button{min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.ex-toggle button[aria-pressed="true"],.ex-biz button[aria-pressed="true"]{background:var(--mod-accent);border-color:var(--mod-accent);color:var(--mod-accent-ink);font-weight:600}
.ex-toggle button:focus-visible,.ex-biz button:focus-visible,.ex-hub-item:focus-visible{outline:2px solid var(--mod-gold);outline-offset:2px}
.ex-stale{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:#fbf0e2;color:#7a4a17;border-left:4px solid var(--mod-gold)}
.ex-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:14px}
.ex-kpi{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-top:3px solid var(--mod-sig);border-radius:12px;background:var(--mod-tint)}
.ex-kpi-label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;opacity:.75}
.ex-kpi-value{font-size:24px;font-variant-numeric:tabular-nums;line-height:1.2}
.ex-kpi small,.ex-muted{font-size:12px;opacity:.75}
.ex-kpi-value.ex-muted{font-size:14px;font-weight:600}
.ex-delta{font-size:12px;font-weight:700}
.ex-delta.up{color:#15803d}.ex-delta.down{color:#b91c1c}.ex-delta.flat{opacity:.7}
.ex-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-bottom:14px}
.ex-biz-card{padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--mod-gold);border-radius:12px}
.ex-biz-card h3{margin:0 0 8px;font-size:15px}
.ex-biz-card dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px;font-size:13px}
.ex-biz-card dd{margin:0;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}
.ex-pipe{margin:0;font-size:13px}
.ex-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:14px}
.ex-charts h2,.ex-hub h2{font-size:15px;margin:0 0 8px}
.ex-charts svg{width:100%;height:auto;max-height:220px}
.ex-donut{max-width:180px;display:block;margin:auto}
.ex-ring{fill:none;stroke-width:22}
.ex-val{font-size:11px;text-anchor:middle;fill:currentColor;font-weight:600}
.ex-axis{font-size:11px;text-anchor:middle;fill:currentColor;opacity:.8}
.ex-left{text-anchor:start}
.ex-donut-n{font-size:26px;font-weight:700;text-anchor:middle;fill:currentColor}
.ex-base{stroke:var(--line)}
.ex-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0 0;font-size:12px}
.ex-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;background:currentColor}
/* Series colours: navy, gold, teal, slate, orange, purple — distinct in light and dark. */
.ex-s1{fill:#373435;stroke:#373435;color:#373435}.ex-s2{fill:#b68e4a;stroke:#b68e4a;color:#b68e4a}.ex-s3{fill:#0f766e;stroke:#0f766e;color:#0f766e}
.ex-s4{fill:#64748b;stroke:#64748b;color:#64748b}.ex-s5{fill:#c2410c;stroke:#c2410c;color:#c2410c}.ex-s6{fill:#7c3aed;stroke:#7c3aed;color:#7c3aed}
.ex-hub-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.ex-hub-item{display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:transparent;color:inherit;font:inherit;cursor:pointer;min-height:44px}
.ex-hub-item b{font-size:22px;font-variant-numeric:tabular-nums}
.app-shell[data-mode="dark"] .ex-stale{background:#3d3122;color:#f0c78e}
.app-shell[data-mode="dark"] .ex-delta.up{color:#86efac}.app-shell[data-mode="dark"] .ex-delta.down{color:#fca5a5}
.app-shell[data-mode="dark"] .ex-s1{fill:#e8e2d6;stroke:#e8e2d6;color:#e8e2d6}.app-shell[data-mode="dark"] .ex-s2{fill:#d4b06a;stroke:#d4b06a;color:#d4b06a}
.app-shell[data-mode="dark"] .ex-s3{fill:#5eead4;stroke:#5eead4;color:#5eead4}.app-shell[data-mode="dark"] .ex-s4{fill:#cbd5e1;stroke:#cbd5e1;color:#cbd5e1}
.app-shell[data-mode="dark"] .ex-s5{fill:#fdba74;stroke:#fdba74;color:#fdba74}.app-shell[data-mode="dark"] .ex-s6{fill:#c4b5fd;stroke:#c4b5fd;color:#c4b5fd}
@media (prefers-reduced-motion:no-preference){.ex-kpi,.ex-biz-card{transition:box-shadow .15s}}
/* Needs attention (Task 9) */
.ex-attn{margin-bottom:14px;border-left:4px solid var(--mod-gold)}
.ex-attn h2{font-size:16px;margin:0 0 8px}.ex-attn h2 small{font-size:12px;opacity:.7;margin-left:4px}
.ex-attn ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ex-attn li{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px}
.ex-attn li[data-level="high"] .ex-lvl{color:#b91c1c;font-weight:700}
.ex-attn .ex-lvl{font-size:12px}
.ex-attn-text small{opacity:.7}
.ex-attn-clear{border-left-color:#15803d}
.app-shell[data-mode="dark"] .ex-attn li[data-level="high"] .ex-lvl{color:#fca5a5}
@media (max-width:600px){.ex-attn li{grid-template-columns:1fr auto}.ex-attn .ex-lvl{grid-column:1/-1}}
#page-content .ex-attn,#page-content .ex-hub,#page-content .ex-charts .panel{min-height:0}
