.activity-dashboard {
    --activity-surface: var(--taskmanager-light-panel-raised);
    --activity-background: var(--taskmanager-light-canvas);
    --activity-text: var(--taskmanager-light-text);
    --activity-muted: var(--taskmanager-light-muted);
    --activity-border: var(--taskmanager-light-border);
    --activity-accent: var(--fta-theme-accent, #018574);
    --activity-tint: var(--taskmanager-light-accent-soft);
    color: var(--activity-text);
    background: var(--activity-background);
    padding: clamp(1rem, 2vw, 2rem);
    min-height: 70vh;
}
:is(.dxbl-theme-dark, .dxbl-theme-fluent-mode-dark) .activity-dashboard {
    --activity-surface: #202d38;
    --activity-background: #17232d;
    --activity-text: #edf4f1;
    --activity-muted: #afc1bc;
    --activity-border: #3a4b54;
    --activity-accent: var(--fta-theme-accent, #018574);
    --activity-tint: #29443e;
}
.activity-dashboard-header { display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.activity-eyebrow { color:var(--activity-accent); font-weight:700; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; }
.activity-dashboard h1 { font-size:clamp(1.5rem,2.4vw,2.1rem); margin:.4rem 0; font-weight:700; }
.activity-dashboard-header p { margin:0; color:var(--activity-muted); }
.activity-dashboard-actions { display:flex; gap:.6rem; flex-wrap:wrap; }
.activity-button { border:1px solid var(--activity-border); border-radius:.5rem; background:var(--activity-surface); color:var(--activity-text); padding:.6rem .9rem; font:inherit; cursor:pointer; }
.activity-button.primary { background:var(--activity-accent); color:var(--activity-surface); border-color:var(--activity-accent); font-weight:600; }
.activity-dashboard button:disabled, .activity-dashboard select:disabled { opacity:.6; cursor:wait; }
.activity-dashboard button:focus-visible, .activity-dashboard select:focus-visible { outline:3px solid var(--activity-accent); outline-offset:3px; }
.activity-filters { display:flex; align-items:end; flex-wrap:wrap; gap:1rem; margin-bottom:1.3rem; }
.activity-filters label { display:flex; flex-direction:column; gap:.35rem; font-size:.8rem; font-weight:600; color:var(--activity-muted); }
.activity-filters select { min-width:11rem; background:var(--activity-surface); color:var(--activity-text); border:1px solid var(--activity-border); border-radius:.45rem; padding:.6rem; font:inherit; font-size:.9rem; }
.activity-time-note { color:var(--activity-muted); font-size:.8rem; margin-left:auto; padding-bottom:.65rem; }
.activity-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }
.activity-kpis article { display:flex; flex-direction:column; gap:.55rem; border:1px solid var(--activity-border); border-radius:.8rem; padding:1.2rem; background:var(--activity-surface); }
.activity-kpis article>span { color:var(--activity-muted); font-weight:600; font-size:.9rem; }
.activity-kpis strong { font-size:2.2rem; line-height:1.2; font-weight:700; color:var(--activity-accent); font-variant-numeric:tabular-nums; }
.activity-kpis small { color:var(--activity-muted); font-size:.76rem; }
.activity-chart-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:1rem; margin-bottom:1rem; }
.activity-panel { background:var(--activity-surface); border:1px solid var(--activity-border); border-radius:.8rem; padding:1.2rem; min-width:0; }
.activity-panel-title { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.6rem; margin-bottom:1rem; }
.activity-panel h2 { font-size:1rem; margin:0; font-weight:700; }
.activity-panel-title>span { font-size:.75rem; color:var(--activity-muted); }
.activity-trend { display:flex; align-items:stretch; gap:clamp(2px,.5vw,8px); height:200px; padding:.5rem 0 0; border-bottom:1px solid var(--activity-border); background:repeating-linear-gradient(to top,transparent 0,transparent 49px,var(--activity-border) 50px); }
.activity-trend-column { flex:1; min-width:0; display:flex; flex-direction:column; justify-content:end; }
.activity-trend-bar { display:block; border-radius:.3rem .3rem 0 0; background:var(--activity-accent); min-height:0; }
.activity-trend-axis { display:flex; justify-content:space-between; gap:.6rem; margin-top:.6rem; font-size:.72rem; color:var(--activity-muted); }
.activity-breakdown { display:grid; gap:.5rem; }
.activity-breakdown-row { width:100%; display:grid; grid-template-columns:1fr auto; gap:.25rem; padding:.35rem 0; text-align:left; color:var(--activity-text); background:transparent; border:0; font:inherit; font-size:.86rem; cursor:pointer; }
.activity-meter { grid-column:1/-1; height:5px; overflow:hidden; border-radius:4px; background:var(--activity-tint); }
.activity-meter i { display:block; height:100%; background:var(--activity-accent); border-radius:4px; }
.activity-table-wrap { overflow-x:auto; }
.activity-dashboard table { width:100%; border-collapse:collapse; font-size:.83rem; }
.activity-dashboard th { text-align:left; color:var(--activity-muted); font-size:.74rem; font-weight:600; padding:.55rem .45rem; border-bottom:1px solid var(--activity-border); }
.activity-dashboard td { padding:.65rem .45rem; border-bottom:1px solid var(--activity-border); vertical-align:middle; }
.activity-dashboard tbody tr:last-child td { border-bottom:0; }
.activity-dashboard .numeric { text-align:right; font-variant-numeric:tabular-nums; }
.activity-link { border:0; padding:0; background:transparent; color:var(--activity-accent); font:inherit; cursor:pointer; text-align:left; text-decoration:underline; text-underline-offset:3px; }
.activity-target { overflow-wrap:anywhere; max-width:28rem; }
.activity-nowrap { white-space:nowrap; }
.activity-kind { display:inline-block; padding:.2rem .5rem; border-radius:1rem; background:var(--activity-tint); color:var(--activity-text); white-space:nowrap; font-size:.75rem; }
.activity-state { min-height:15rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.9rem; text-align:center; color:var(--activity-muted); }
.activity-empty { color:var(--activity-muted); margin:2rem 0; }
.activity-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.65rem; color:var(--activity-muted); font-size:.75rem; margin-top:1rem; }
.activity-spinner { width:2rem; height:2rem; border:3px solid var(--activity-border); border-top-color:var(--activity-accent); border-radius:50%; animation:activity-spin .8s linear infinite; }
@keyframes activity-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .activity-spinner { animation:none; } }
@media (max-width:1100px) { .activity-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } .activity-chart-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .activity-kpis { gap:.6rem; } .activity-kpis article { padding:.85rem; } .activity-kpis strong { font-size:1.8rem; } .activity-time-note { margin-left:0; } .activity-trend-axis { font-size:.65rem; } .activity-panel { padding:.9rem; } }

.activity-picker { position:relative; min-width:11rem; max-width:22rem; }
.activity-picker-label { display:block; color:var(--activity-muted); font-weight:600; font-size:.8rem; margin-bottom:.35rem; }
.activity-picker-toggle { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; padding:.6rem; background:var(--activity-surface); color:var(--activity-text); border:1px solid var(--activity-border); border-radius:.45rem; font:inherit; font-size:.9rem; cursor:pointer; }
.activity-picker-menu { position:absolute; top:100%; left:0; z-index:10; width:min(24rem,calc(100vw - 3rem)); margin-top:.35rem; background:var(--activity-surface); color:var(--activity-text); padding:.6rem; border:1px solid var(--activity-border); border-radius:.6rem; box-shadow:0 .5rem 1.5rem #0002; max-height:24rem; overflow-y:auto; }
.activity-picker-search { display:flex; gap:.4rem; margin-bottom:.5rem; }
.activity-picker-search input { width:100%; min-width:0; color:var(--activity-text); background:var(--activity-background); border:1px solid var(--activity-border); border-radius:.4rem; padding:.55rem; font:inherit; font-size:.82rem; }
.activity-picker-option { display:block; width:100%; border:0; text-align:left; padding:.55rem; background:transparent; color:var(--activity-text); border-radius:.35rem; font:inherit; font-size:.86rem; cursor:pointer; }
.activity-picker-option:hover { background:var(--activity-tint); }
.activity-picker-menu p, .activity-filter-note { color:var(--activity-muted); font-size:.8rem; margin:.7rem .3rem; }
