.role-dashboard{--role-dash-muted:var(--muted,#64748b);min-width:0;max-width:100%}
.role-dash-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;margin:0 0 18px;border:1px solid #dbe7f4;border-radius:12px;background:linear-gradient(120deg,#f8fbff,#eff6ff)}
.role-dash-hero-copy{min-width:0}
.role-dash-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--accent-3,#1d4ed8);margin-bottom:5px}
.role-dash-hero h2{margin:0;font-size:24px;font-weight:650;line-height:1.5;letter-spacing:-.3px;overflow-wrap:anywhere}
.role-dash-hero p{margin:7px 0 0;color:var(--role-dash-muted);font-size:13px;line-height:1.75;overflow-wrap:anywhere}
.role-dash-cadence{display:flex;flex-direction:column;gap:7px;flex:0 1 300px;min-width:190px;padding:12px 0 12px 24px;border-left:1px solid #dbe7f4}
.role-dash-cadence>span{font-size:11px;color:var(--role-dash-muted)}
.role-dash-cadence>strong{font-size:13px;font-weight:500;line-height:1.8;color:var(--ink,#0f172a);overflow-wrap:anywhere}
.role-dash-filters{margin:0 0 18px}
.role-dash-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.role-dash-controls label,.role-dash-metric-select{display:flex;flex-direction:column;gap:5px;flex:1 1 150px;min-width:140px;max-width:290px}
.role-dash-controls label>span,.role-dash-metric-select>span{font-size:12px;color:var(--role-dash-muted)}
.role-dash-controls :is(input,select),.role-dash-metric-select select{width:100%;min-width:0;min-height:44px;padding:9px 11px;border:1px solid var(--line,#e2e8f0);border-radius:7px;background:var(--card,#fff);color:var(--ink,#0f172a);font:inherit;box-sizing:border-box}
.role-dash-controls>.btn{min-height:44px}
.role-dash-range{font-size:12px;color:var(--role-dash-muted);line-height:1.7;margin-top:12px}
.role-dash-range.is-error{color:var(--danger,#b91c1c)}
.role-dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin:0 0 18px}
.role-dash-kpi{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:8px;min-width:0;padding:18px;background:var(--card,#fff);border:1px solid var(--line,#e2e8f0);border-radius:10px;box-shadow:var(--shadow,0 1px 2px rgb(15 23 42 / 3%));font:inherit;color:var(--ink,#0f172a);cursor:pointer}
.role-dash-kpi:hover{border-color:#bfdbfe;background:#fbfdff}
.role-dash-kpi.is-selected{border-color:#93c5fd;box-shadow:0 0 0 1px #bfdbfe;background:linear-gradient(180deg,#f8fbff,#fff)}
.role-dash-kpi-label{font-size:12px;color:var(--role-dash-muted);line-height:1.7}
.role-dash-kpi>strong{font-size:26px;line-height:1.5;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.role-dash-kpi>strong>small{font-size:12px;font-weight:400;color:var(--role-dash-muted);margin-left:6px}
.role-dash-kpi-previous{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:11px;color:var(--role-dash-muted);line-height:1.75}
.role-dash-kpi-previous>b{color:var(--ink,#0f172a);font-weight:500}
.role-dash-kpi-note{margin-top:auto;padding-top:3px;font-size:11px;line-height:1.65;color:var(--role-dash-muted);overflow-wrap:anywhere}
.role-dash-trends{margin:0 0 18px;min-width:0}
.role-dash-trends .card-h{align-items:center;justify-content:space-between}
.role-dash-trends h3{margin-bottom:4px}
.role-dash-metric-select{flex:0 1 260px}
.role-dash-metric-description{margin:0 0 9px;font-size:12px;color:var(--role-dash-muted);line-height:1.75}
.role-dash-chart-hint{font-size:12px;color:var(--role-dash-muted);line-height:1.7;margin:6px 0 10px}
.role-dash-chart-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:6px;border-radius:7px}
.role-dash-plot{position:relative;height:230px}
.role-dash-plot svg{width:100%;height:184px;overflow:visible}
.role-dash-plot svg text{fill:var(--role-dash-muted);font-size:11px}
.role-dash-grid{stroke:var(--line,#e2e8f0);stroke-dasharray:4 5}
.role-dash-zero{stroke:var(--role-dash-muted);stroke-opacity:.5;stroke-dasharray:3 3}
.role-dash-line{fill:none;stroke:var(--accent,#2563eb);stroke-width:2.5;vector-effect:non-scaling-stroke}
.role-dash-dot{fill:var(--accent,#2563eb);stroke:var(--card,#fff);stroke-width:1.5}
.role-dash-point{position:absolute;top:0;bottom:0;transform:translateX(-50%);width:72px;background:transparent;border:0;border-radius:6px;color:var(--ink,#0f172a);cursor:pointer;padding:0;font:inherit;font-size:10px}
.role-dash-point:hover{background:rgb(37 99 235 / 5%)}
.role-dash-point-value{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--card,#fff);padding:1px 3px;border-radius:3px;font-size:10px}
.role-dash-point-label{position:absolute;left:0;right:0;top:187px;color:var(--role-dash-muted);line-height:1.6;overflow-wrap:anywhere}
.role-dash-point-label>span{display:block;white-space:nowrap}
.role-dash-table{border-top:1px solid var(--line,#e2e8f0);margin-top:12px;padding-top:10px}
.role-dashboard summary{min-height:44px;box-sizing:border-box;padding:10px 0;font-size:13px;color:var(--role-dash-muted);line-height:1.7;cursor:pointer}
.role-dash-table table{min-width:650px}
.role-dash-table caption{font-size:12px;color:var(--role-dash-muted);text-align:left;line-height:1.7;padding:8px 0}
.role-dash-table tbody th{font-size:12px;font-weight:400;white-space:nowrap;text-align:left}
.role-dash-table .btn{min-height:44px}
.role-dash-notes{margin:0}
.role-dash-notes ul{margin:0;padding-left:20px;font-size:12px;line-height:1.9;color:var(--role-dash-muted)}
.role-dash-detail-heading{display:flex;flex-direction:column;gap:5px;line-height:1.8}
.role-dash-detail-heading>span,.role-dash-detail-note{font-size:12px;color:var(--muted,#64748b)}
.role-dash-detail-note{padding:10px 12px;background:var(--paper2,#f8fafc);border:1px solid var(--line,#e2e8f0);border-radius:7px;line-height:1.8}
.role-dash-detail{margin-top:14px;max-height:60vh;overflow:auto}
.role-dash-detail table{min-width:540px}
.role-dash-detail td{vertical-align:top}
.role-dash-detail td:nth-child(2){min-width:180px;white-space:normal;overflow-wrap:anywhere}
.role-dashboard :is(button,input,select):focus-visible,.role-dash-chart-scroll:focus-visible{outline:2px solid var(--accent,#2563eb);outline-offset:3px}
@media(max-width:900px){.role-dash-hero{gap:18px}.role-dash-cadence{flex-basis:230px;min-width:160px;padding-left:18px}.role-dash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.role-dash-kpi{padding:15px}.role-dash-kpi>strong{font-size:23px}}
@media(max-width:640px){.role-dash-hero{flex-direction:column;align-items:stretch;padding:18px;gap:14px}.role-dash-hero h2{font-size:21px}.role-dash-cadence{flex-basis:auto;min-width:0;padding:12px 0 0;border-left:0;border-top:1px solid #dbe7f4;gap:3px}.role-dash-cadence>strong{font-size:12px}.role-dash-controls{gap:10px}.role-dash-controls label{min-width:125px;max-width:none}.role-dash-controls input{font-size:16px}.role-dash-controls>.btn{flex:1 1 100%;justify-content:center}.role-dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-dash-kpi{padding:13px;gap:6px}.role-dash-kpi>strong{font-size:22px}.role-dash-kpi-previous{flex-direction:column;gap:0}.role-dash-kpi-note{font-size:10px}.role-dash-trends .card-h{align-items:stretch}.role-dash-metric-select{flex:1 1 100%;max-width:none;min-width:0}.role-dashboard .card-b{padding:15px 12px}.role-dash-range{font-size:11px}}
