/* G4-HUB1: CFO HUB — the Control page in three tabs (what waits for you today / tasks and follow-up / the finance calendar), the rhythm columns, the
   follow-up filters. Colours through the theme's tokens; the hub's own tab row folds while the map's strip shows the same screens. */
.hub1-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.hub1-tab{border:1px solid var(--line,#dbe4ee);border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:.9em;padding:4px 14px;min-height:32px;cursor:pointer}
.hub1-tab[aria-pressed="true"]{background:var(--accent,#0869c9);border-color:var(--accent,#0869c9);color:var(--panel,#fff);font-weight:600}
.hub1-tabs.hub1-folded{display:none}
/* which sections each tab shows */
#page-control[data-hub-tab="today"] #controlSummary,#page-control[data-hub-tab="today"] #hubFilters,#page-control[data-hub-tab="today"] .grid-2,#page-control[data-hub-tab="today"] #cfoHubCalendar{display:none}
#page-control[data-hub-tab="tasks"] #cfoControlDesk,#page-control[data-hub-tab="tasks"] #cfoHubRhythm,#page-control[data-hub-tab="tasks"] #cfoDueSoon,#page-control[data-hub-tab="tasks"] #cfoHubCalendar{display:none}
#page-control[data-hub-tab="calendar"] #cfoControlDesk,#page-control[data-hub-tab="calendar"] #cfoHubRhythm,#page-control[data-hub-tab="calendar"] #cfoDueSoon,#page-control[data-hub-tab="calendar"] #controlSummary,#page-control[data-hub-tab="calendar"] #hubFilters,#page-control[data-hub-tab="calendar"] .grid-2{display:none}
/* the rhythm */
.hub1-rhythm{margin:14px 0}
.hub1-head h3{margin:0 0 4px}
.hub1-head p{margin:0 0 10px;color:var(--muted,inherit);font-size:.92em}
.hub1-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hub1-col{border:1px solid var(--line,#dbe4ee);border-radius:12px;padding:10px 12px;background:var(--panel,transparent);min-width:0}
.hub1-col h4{margin:0 0 8px;font-size:.95em}
.hub1-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hub1-item{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:flex-start;justify-content:space-between;border-top:1px solid var(--line,#dbe4ee);padding-top:8px}
.hub1-item:first-child{border-top:0;padding-top:0}
.hub1-main{display:grid;gap:3px;min-width:0;flex:1 1 180px}
.hub1-main b{font-size:.95em}
.hub1-main small{color:var(--muted,inherit);font-size:.84em}
.hub1-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.82em}
.hub1-state{border-radius:999px;padding:1px 9px;border:1px solid var(--line,#dbe4ee)}
.hub1-state.hub1-late,.hub1-state.hub1-failed{border-color:#c0392b;color:#c0392b;font-weight:600}
.hub1-state.hub1-done{border-color:#2e7d32;color:#2e7d32}
.hub1-state.hub1-in_progress,.hub1-state.hub1-in_review{border-color:var(--accent,#0869c9);color:var(--accent,#0869c9)}
.hub1-acts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.hub1-empty{margin:0;color:var(--muted,inherit);font-size:.9em}
/* the follow-up filters over the task table */
.hub1-filters{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 10px;font-size:.9em}
.hub1-filters label{display:inline-flex;align-items:center;gap:6px}
.hub1-filters select,.hub1-filters input{font:inherit;font-size:.95em;min-height:30px;border:1px solid var(--line,#dbe4ee);border-radius:8px;padding:2px 8px;background:transparent;color:inherit;max-width:180px}
.hub1-count{margin-inline-start:auto;color:var(--muted,inherit)}
#controlTasks tr.hub1-hide{display:none}
/* the moved calendar and the line left on the Cash page */
.hub1-calendar{margin:12px 0}
.hub1-moved{margin:10px 0;color:var(--muted,inherit)}
@media (max-width:900px){.hub1-cols{grid-template-columns:1fr}}
