.dashboard-page{padding:22px clamp(14px,2vw,32px) 40px;max-width:1900px;margin:0 auto;min-width:0;color:var(--text-primary);--dash-blue:#438ad6;--dash-purple:#9a7ce0;--dash-amber:#d6a13b}
.app-content>.dashboard-page{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 24%,transparent) transparent}
.dashboard-page::-webkit-scrollbar,.dash-chart-expanded::-webkit-scrollbar{width:5px}
.dashboard-page::-webkit-scrollbar-thumb,.dash-chart-expanded::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 24%,transparent);border-radius:8px}
.dashboard-page:focus-visible{outline:2px solid var(--brand-500);outline-offset:-2px}
.dash-chart-expanded-backdrop{position:fixed;inset:0;z-index:1100;background:var(--surface-secondary);color:var(--text-primary);padding:clamp(12px,2vw,28px);overflow:auto;--dash-blue:#438ad6;--dash-purple:#9a7ce0;--dash-amber:#d6a13b}
.dash-chart-expanded{height:100%;display:flex;flex-direction:column;min-width:0;scrollbar-width:thin}
.dash-chart-expanded>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;flex-shrink:0}.dash-chart-expanded h2{font-size:1.2rem;margin:0}.dash-chart-expanded header p{margin:5px 0;color:var(--text-muted);font-size:.875rem}
.dash-chart-expanded>.dash-chart-card{flex:1;display:flex;flex-direction:column;min-height:360px}.dash-chart-expanded .dash-chart{flex:1;min-height:240px;height:auto}.dash-chart-expanded .dash-accessible{flex-shrink:0}.dash-chart-expanded>header button{flex-shrink:0}
.dashboard-page.dash-modal-open{overflow:hidden}
.dash-kpi .dash-no-value{font-size:1rem;letter-spacing:0;line-height:1.4}
.dash-heading,.dash-section-title,.dash-chart-card>header,.dash-attention-panel>header,.dash-health>header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.dash-heading{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--border-soft);align-items:flex-start}.dash-heading h1{font-size:clamp(1.35rem,2vw,1.8rem);font-weight:750;margin:4px 0}.dash-heading p{margin:0;color:var(--text-muted);font-size:.875rem}.dash-identity{min-width:0}
.dash-eyebrow{font-size:.75rem!important;letter-spacing:.14em;font-weight:800;color:var(--brand-700)!important}.dash-toolbar{display:grid;gap:8px;min-width:0;max-width:100%;margin-left:auto}.dash-freshness{display:flex;gap:6px 12px;flex-wrap:wrap;justify-content:flex-end;font-size:.75rem;text-align:right}.dash-freshness>span{color:var(--brand-700);font-weight:600}.dash-freshness>span.stale{color:var(--danger)}.dash-freshness small{font-size:.75rem!important}.dash-scope-label{max-width:420px;text-align:right;overflow-wrap:anywhere}
.dashboard-page small,.dash-dialog small{font-size:.8125rem;color:var(--text-muted)}
.dash-filter-bar{display:flex;gap:8px;justify-content:flex-end;align-items:center;flex-wrap:wrap;position:relative}
.dash-filter-bar label,.dash-policy label{display:grid;gap:6px;font-size:.875rem;color:var(--text-secondary);min-width:0}.dash-filter-bar input,.dash-filter-bar select,.dash-policy input,.dash-policy select{min-height:44px;max-width:100%;min-width:0;padding:8px 12px;border:1px solid var(--border-color);border-radius:9px;background:var(--surface-secondary);color:var(--text-primary)}
.dash-secondary-filters summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:650;font-size:.875rem;padding:8px 12px;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:9px;list-style:none}.dash-secondary-filters summary::-webkit-details-marker{display:none}.dash-secondary-filters summary svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.dash-secondary-filters summary b{background:var(--brand-500);color:var(--text-on-brand,#fff);border-radius:12px;padding:1px 7px;font-size:.75rem}.dash-secondary-filters[open] summary{border-color:var(--brand-500)}.dash-secondary-filters>div{position:absolute;right:0;top:52px;width:340px;max-width:calc(100vw - 32px);z-index:30;display:grid;gap:14px;padding:18px;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow)}.dash-filter-caption{font-weight:700;color:var(--text-primary)!important}.dash-custom-range{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;align-items:end;flex-basis:100%}.dash-custom-range label{flex:1;min-width:120px}.dash-apply{min-height:44px;padding:8px 14px;border:0;border-radius:9px;background:var(--brand-500);color:var(--text-on-brand,#fff);font-weight:650}.dash-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.dash-section-title{margin:24px 0 12px}.dash-section-title h2{font-size:1rem;font-weight:750;margin:0}.dash-section-title>span{font-size:.8125rem;color:var(--text-muted)}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.dash-kpis.now:has(>:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}.dash-kpis:not(.now):has(>:last-child:nth-child(2)){grid-template-columns:repeat(2,minmax(0,1fr))}
.dash-kpi{position:relative;display:flex;flex-direction:column;text-align:left;gap:10px;padding:20px;border:1px solid var(--border-color);border-radius:14px;background:linear-gradient(150deg,color-mix(in srgb,var(--brand-500) 4%,var(--surface-primary)),var(--surface-primary));color:var(--text-primary);min-width:0;transition:border-color .2s,transform .2s}
.dash-kpi::before{content:"";position:absolute;left:22px;right:22px;top:0;height:3px;background:var(--brand-500);border-radius:0 0 3px 3px;opacity:.65}.dash-kpi.attention::before{background:#d99c3b}
.dash-kpi:hover{border-color:var(--brand-500);transform:translateY(-2px)}.dash-kpi>span{font-size:.875rem;color:var(--text-secondary);font-weight:650}.dash-kpi>strong{font-size:clamp(1.7rem,2.5vw,2.5rem);font-weight:750;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.dash-kpi em{font-size:1rem;font-style:normal;margin-left:8px;color:var(--text-muted);letter-spacing:0}.dash-kpi small{margin-top:auto}
.dash-note,.dash-warning{font-size:.875rem;padding:12px 16px;border-radius:10px;margin-top:14px;background:var(--surface-tertiary);color:var(--text-secondary);line-height:1.6}.dash-warning{border:1px solid var(--danger);color:var(--danger)}
.dash-data-notes{margin:10px 0;color:var(--text-muted);font-size:.8125rem}.dash-data-notes summary{min-height:44px;cursor:pointer;line-height:1.8;padding:8px 0}.dash-data-notes summary span{margin-left:10px;padding:3px 8px;border-radius:6px;background:var(--surface-tertiary);color:var(--text-secondary)}.dash-data-notes p{margin:4px 0 12px;max-width:100ch;line-height:1.6}
.dash-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.dash-chart-card,.dash-attention-panel,.dash-explore,.dash-health{border:1px solid var(--border-color);border-radius:16px;background:var(--surface-primary);padding:20px;min-width:0}.dash-chart-card h2,.dash-attention-panel h2,.dash-explore h2,.dash-health h2{font-size:1rem;font-weight:700;margin:0}.dash-chart-card>header{padding-bottom:14px;border-bottom:1px solid var(--border-soft)}.dash-chart-card .dash-eyebrow{margin:0 0 5px;color:var(--text-muted)!important}.dash-chart-summary{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:16px}.dash-chart-summary strong{font-size:1.8rem;font-variant-numeric:tabular-nums;line-height:1.2;color:var(--brand-700)}.dash-chart-summary span{font-size:.8125rem;color:var(--text-muted)}.dash-chart-card[data-series=received] .dash-chart-summary strong{color:var(--dash-blue)}.dash-chart-card[data-series=response] .dash-chart-summary strong{color:var(--dash-purple)}.dash-chart-card[data-series=ratings] .dash-chart-summary strong{color:var(--dash-amber)}.dash-chart{width:100%;height:250px;min-width:0;margin-top:4px}.dash-chart-empty,.dash-empty{min-height:220px;display:grid;place-items:center;text-align:center;color:var(--text-muted);padding:24px}
.dash-text-button{border:0;background:transparent;color:var(--brand-700);font-size:.875rem;font-weight:650;padding:10px 4px;min-height:44px;text-align:left}.dash-accessible summary{cursor:pointer;font-size:.8125rem;color:var(--text-muted);padding:12px 0;min-height:44px}.dash-accessible ul{list-style:none;padding:0;margin:0;max-height:250px;overflow:auto}.dash-accessible li>button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:12px 4px;background:transparent;color:var(--text-primary);border:0;border-top:1px solid var(--border-soft);font-size:.875rem;text-align:left;min-height:44px}
.dash-attention-panel{margin-top:12px}.dash-attention-panel>p{color:var(--text-muted);margin-top:12px;font-size:.875rem}.dash-attention-panel .dash-eyebrow{margin:0 0 5px}.dash-attention-list article{padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border-soft)}.dash-attention-list article:last-child{border:0}.dash-attention-list article>div{display:grid;gap:6px;min-width:0}.dash-attention-list strong{overflow-wrap:anywhere;font-size:.9375rem}.dash-attention-list a,.dash-detail-row a{font-size:.875rem;color:var(--brand-700);min-height:44px;display:inline-flex;align-items:center}
.dash-explore>div{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:12px}.dash-health{margin-top:24px}.dash-health>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:20px}.dash-health article{padding:18px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface-secondary);display:grid;gap:6px}.dash-health h3{font-size:1rem}.dash-health article>strong{font-size:1.5rem}.dash-health article>p{font-size:.875rem}
.dash-dialog-backdrop{position:fixed;inset:0;z-index:1200;background:#001c2480;display:flex;justify-content:flex-end}.dash-dialog{width:min(590px,100%);height:100dvh;display:flex;flex-direction:column;background:var(--surface-primary);color:var(--text-primary);box-shadow:var(--shadow);min-width:0}.dash-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;border-bottom:1px solid var(--border-color);padding:20px}.dash-dialog h2{font-size:1.35rem;margin:0}.dash-close{height:44px;min-width:44px;border:1px solid var(--border-color);background:var(--surface-secondary);color:var(--text-primary);border-radius:10px}.dash-dialog-content{padding:22px;overflow:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom));font-size:.9375rem;line-height:1.6}.dash-detail-row{border:1px solid var(--border-color);border-radius:12px;padding:16px;margin:14px 0;display:grid;gap:6px;overflow-wrap:anywhere}.dash-detail-row p{margin:0}.dash-detail-row blockquote{border-left:3px solid var(--brand-500);padding:8px 12px;background:var(--surface-secondary);margin:4px 0}.dash-pagination{display:flex;gap:12px;justify-content:space-between;align-items:center;font-size:.875rem}.dash-pagination button{min-height:44px;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--surface-secondary);color:var(--text-primary)}
.dash-policy{padding:22px;background:var(--surface-primary);border:1px solid var(--border-color);border-radius:18px}.dash-policy-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:12px 0}.dash-policy-row>*{min-width:0}.dash-policy h2{font-size:1.3rem}.dash-policy h3{font-size:1.05rem;margin-top:24px}.dash-policy button{min-height:44px}.dash-policy-history{display:grid;gap:10px;padding:0;list-style:none}.dash-policy-history li{padding:12px;border:1px solid var(--border-color);border-radius:10px;font-size:.875rem}
@media(min-width:1250px){.dash-indicators{display:grid;gap:18px;grid-template-columns:1fr 2fr}.dash-indicators.team{grid-template-columns:2fr 1fr}.dash-indicators>div{display:flex;flex-direction:column;min-width:0}.dash-indicators .dash-kpis{flex:1}.dash-indicators .dash-kpi{padding:18px 14px}.dash-indicators .dash-kpi>strong{font-size:2rem}.dash-indicators .dash-section-title{min-height:38px;margin-top:0}.dash-indicators .dash-section-title>span{font-size:.75rem}.dash-attention-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.dash-attention-list article{flex-direction:column;align-items:start;gap:2px;border-bottom:0}.dash-attention-panel{padding-bottom:8px}}
@media(min-width:1500px){.dash-charts{gap:20px}.dash-chart{height:280px}}
@media(max-width:1100px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-health>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.dashboard-page{padding:16px 12px max(24px,env(safe-area-inset-bottom))}.dash-heading{gap:14px;margin-bottom:14px;padding-bottom:14px}.dash-toolbar{width:100%;margin-left:0}.dash-freshness{text-align:left;justify-content:flex-start}.dash-heading h1{font-size:1.5rem}.dash-filter-bar>label{flex:1;min-width:120px}.dash-filter-bar select{width:100%}.dash-scope-label{text-align:left}.dash-kpis{gap:10px}.dash-kpi{padding:16px 12px;gap:8px}.dash-kpi>span{font-size:.875rem}.dash-kpi>strong{font-size:1.75rem}.dash-kpi small{font-size:.75rem}.dash-kpi::before{left:12px;right:12px}.dash-charts{grid-template-columns:1fr;gap:16px}.dash-chart-card,.dash-attention-panel,.dash-explore,.dash-health{padding:16px;border-radius:14px}.dash-chart{height:240px}.dash-attention-list article{align-items:flex-start;flex-direction:column;gap:4px}.dash-dialog{width:100%;height:100dvh}.dash-dialog>header{padding:12px}.dash-dialog-content{padding:16px}.dash-section-title{gap:6px}.dash-health>div{grid-template-columns:1fr}.dash-policy{padding:14px}.dash-policy-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){.dash-kpis,.dash-kpis.now:has(>:last-child:nth-child(2)),.dash-kpis:not(.now):has(>:last-child:nth-child(2)){grid-template-columns:1fr}.dash-chart{height:240px}}
@media(prefers-reduced-motion:reduce){.dash-kpi{transition:none}.dash-kpi:hover{transform:none}}
.dash-policy .primary-button{min-height:44px;border:0;border-radius:10px;padding:12px 18px;background:var(--brand-500);color:var(--text-on-brand,#fff);font:inherit;font-weight:700;cursor:pointer}
.dash-policy .primary-button:disabled{opacity:.6;cursor:wait}
@media(max-width:480px){.dash-policy-row{grid-template-columns:minmax(0,1fr)}.dash-policy-row input,.dash-policy-row select{width:100%}}
