/* Explicit report layout keeps all panels in the reference positions. */
body{background:#454746}
.dashboard{position:relative;grid-template-columns:repeat(164,minmax(0,1fr));grid-template-rows:196fr 212fr 260fr 62fr;grid-auto-flow:row;gap:10px 0;padding:12px 3px 8px;height:max(900px,100svh);min-width:0}
.dashboard>.card{margin:0 5px;min-width:0;min-height:0;padding:14px;box-shadow:none;background:#030404}
.dashboard>.brand{display:none}
.dashboard>.earnings{grid-area:1/1/2/33}
.dashboard>.report-title{position:absolute;z-index:2;top:10px;left:5px;width:calc(66.46% - 10px);height:96px;margin:0;padding:12px 20px;display:flex;align-items:center;gap:16px;background:linear-gradient(110deg,#07090c,#10151b);border-color:#263846;overflow:hidden}
.report-title:after{content:'';position:absolute;right:-30px;top:-65px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#19daf333,transparent 67%)}
.report-logo{position:relative;z-index:2;width:116px;height:58px;object-fit:contain;animation:report-logo-float 3.6s ease-in-out infinite}.report-copy{position:relative;z-index:1;display:block}.report-kicker{display:block;color:#19daf3;font-size:10px;letter-spacing:.16em;font-weight:800}.report-title h1{margin:4px 0 5px;font-size:clamp(21px,1.7vw,30px);line-height:1.05}.report-title p{display:flex;gap:12px;margin:0;color:#9ea5ad;font-size:12px}.report-title p b{color:#b51dff}.report-title p span:before{content:'•';margin-right:12px;color:#19daf3}@keyframes report-logo-float{0%,100%{transform:translateY(0);filter:drop-shadow(0 0 0 #ff263000)}50%{transform:translateY(-4px);filter:drop-shadow(0 5px 9px #ff263055)}}
.dashboard>.ageing{grid-area:1/34/3/109}
.dashboard>.paid{grid-area:1/110/2/130;display:flex;flex-direction:column;justify-content:space-around;margin-right:3px}
.paid hr{width:100%;margin:5px 0}.ring{flex-shrink:0}.ring-row{gap:12px}
.dashboard>.slicer{grid-area:1/130/2/148;display:flex;flex-direction:column;background:#a013f4;margin-left:3px;margin-right:3px}
.dashboard>.slicer .months{flex:1;align-content:space-evenly;margin-top:5px}
.dashboard>.enrolled{grid-area:1/148/2/165;margin-left:3px}
.dashboard>.channels{grid-area:2/1/4/33}
.dashboard>.channels{align-self:start;height:calc(100% - 14px)}
.dashboard>.brand,.dashboard>.earnings,.dashboard>.ageing,.dashboard>.channels,.dashboard>.team-sales.heatmap-card,.dashboard>.consultant.heatmap-card{transform:translateY(max(0px,calc(100svh - 835px)))}
.dashboard>.action-plan{grid-area:2/110/5/165}
.dashboard>.team-sales{grid-area:3/34/5/64}
.dashboard>.consultant{grid-area:3/65/5/109}
.dashboard>.avg-calls{grid-area:4/1/5/33;padding:10px 14px}
.dashboard>.team-sales.heatmap-card{grid-area:3/34/4/72;align-self:start}
.dashboard>.consultant.heatmap-card{grid-area:3/72/4/110;align-self:start}
.brand p{margin:18px 0 0;line-height:1.25}.brand-logo{display:block;width:88%;height:62px;object-fit:contain;margin:10px auto 4px}.brand small{display:block;margin-top:6px}
.card h2{font-size:14px;line-height:1.15}.card h2 .muted{font-size:inherit;font-weight:400}
.top-list li{padding:5px 0;gap:5px}.top-list li b{white-space:nowrap}.top-list li span{white-space:nowrap}.big{font-size:clamp(17px,1.3vw,24px)}
.chart{height:auto;min-height:0;flex:1;width:100%}.revenue-summary{gap:8px}.revenue-summary b{font-size:14px}.revenue-summary span{font-size:13px}
.enrolled h3{margin-top:19px}.enrolled svg{position:absolute;right:10px;bottom:10px;width:85%;height:75px}.enrolled .average{position:relative;z-index:1}
.radial{width:clamp(180px,12vw,225px);height:clamp(180px,12vw,225px);margin:14px auto 8px}.arc{background:conic-gradient(from 180deg,var(--c) 0 84%,#17191b 84% 100%)}.a2{transform:rotate(-6deg)}.a3{transform:rotate(-12deg)}.a4{transform:rotate(-20deg)}.radial-center small{text-align:center;font-size:9px}
.channel-grid{gap:12px;margin:4px 14px}.channel-grid span{margin-top:7px}.channel-grid b{margin-top:2px}.channel-grid span{font-size:12px}
.scatter-wrap{min-width:0;min-height:0}.duration-stats{padding-left:8px}.time{margin:13px 0;padding:9px}.minmax{justify-content:space-between;gap:8px}.minmax small{font-size:9px}
.hbars{margin-top:16px}.hbar{margin:8px 0}.hbar i{flex-shrink:1;max-width:60%}.hbar span{flex-shrink:0}.courses svg{width:100%;flex:1;min-height:0;height:150px}.courses h2{margin-top:6px}
.area{text-align:center}.area svg{height:calc(100% - 20px);width:100%}.radar-shape{fill:#39cfaa;fill-opacity:.65}
.progress-list label{margin-top:14px}.team-head small,.consultant .title-row small{font-size:9px}.consultant .vbars{height:calc(100% - 91px);padding-top:20px;margin:7px 4px 0;gap:8px}.vbar{min-width:0}.vbar small{font-size:10px;top:calc(100% + 10px)}.vbar span{font-size:10px}.consultant .title-row>div{font-size:12px}
.donut{width:140px;height:140px;margin:25px auto 13px}.donut-labels span:nth-child(1){top:13px;left:38%}.donut-labels span:nth-child(2){top:44px}.donut-labels span:nth-child(3){top:120px}.donut-labels span:nth-child(4){bottom:45px}.donut-labels{pointer-events:none}
.avg-calls svg{left:auto;right:10px;width:57%;height:44px}.avg-calls strong{margin-right:38%;font-size:20px}.avg-calls>div>span{font-size:12px}.avg-calls strong small{font-size:9px}
.consultant-lines{display:flex;flex-direction:column;justify-content:space-between}.consultant-lines svg{width:100%;height:calc(100% - 34px)}.chart-caption{gap:8px}.chart-caption>span{font-size:11px;white-space:nowrap}.chart-caption h2{font-size:13px}.chart-caption i{width:20px;margin:0 3px}
.grouped{display:flex;flex-direction:column}.group-bars{height:auto;flex:1;margin:12px 0 22px;align-items:stretch}.group{height:100%;align-self:end;align-items:flex-end}.group span{top:calc(100% + 8px);font-size:11px}.group i{width:9px}
.ads svg{width:80%;height:calc(100% - 40px)}.ad-head>div{padding:5px 9px}.ad-head>div span{font-size:11px}.ad-legend{font-size:11px;gap:10px}.months{gap:8px 4px}.months button{font-size:13px;padding:3px 1px}
button:focus-visible{outline:2px solid white;outline-offset:3px}
.top-list ol{padding-top:6px}.top-list li{padding:4px 0;line-height:15px}
.earnings hr{margin:9px 0}.earnings .call-row strong{margin-top:4px}.earnings .big{margin:6px 0 2px}.earnings .title-row h2{font-size:13px}
.radial{width:190px;height:190px;margin:10px auto 6px}.channel-grid span{margin-top:5px}.channel-grid b{line-height:16px}
.progress-list label{margin-top:9px;line-height:16px}.team-head b{font-size:20px}.progress-list i{margin-top:4px;height:6px}
.hbars{margin-top:13px}.hbar{margin:5px 0;line-height:13px}.hbar i{height:6px}
@media(max-width:1350px) and (min-width:901px){.dashboard{height:900px}.dashboard>.card{padding:10px}.card h2{font-size:12px}.top-list li b{font-size:11px}.top-list li span{font-size:10px}.big{font-size:16px}.ring{width:46px;height:46px}.ring-row{gap:7px}.ring-row .label{font-size:11px}.ring-row b{font-size:15px}.revenue-summary b{font-size:11px}.radial{width:180px;height:180px}.channel-grid{margin:0;gap:8px}.channel-grid span{font-size:10px}.duration{grid-template-columns:1.7fr 1fr}.minmax b{font-size:11px}.time{font-size:18px}.hbar span{font-size:9px}.donut{width:125px;height:125px}.donut-labels span{font-size:11px}.vbars{gap:5px}.ad-legend{font-size:9px}.chart-caption{flex-wrap:wrap}.mark{transform:scale(.8);margin-top:0}.brand p{font-size:10px}.months button{font-size:11px}.avg-calls strong{margin-right:0}.avg-calls svg{width:50%}}
@media(max-width:900px){.dashboard{height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:10px;padding:10px}.dashboard>.card{grid-area:auto;margin:0;min-height:220px;padding:15px}.dashboard>.revenue,.dashboard>.duration,.dashboard>.consultant,.dashboard>.consultant-lines,.dashboard>.ads,.dashboard>.action-plan{grid-column:1/-1;min-height:520px}.dashboard>.channels{min-height:380px}.dashboard>.avg-calls{min-height:90px}.dashboard>.brand{min-height:220px}.chart{height:130px;flex:none}.consultant .vbars{height:140px}.consultant{padding-bottom:45px!important}.group-bars{height:160px;flex:none}.consultant-lines svg{height:180px}.ads svg{height:170px;width:78%}.ad-legend{position:absolute;display:flex;right:10px;bottom:30px}.duration{display:grid}.avg-calls strong{margin-right:0}.slicer,.team-slicer{min-width:0}}
@media(max-width:520px){.dashboard{grid-template-columns:1fr}.dashboard>.card{grid-column:1}.dashboard>.duration{display:grid;grid-template-columns:1fr;min-height:420px}.scatter-wrap{height:180px}.duration-stats{padding:0}.minmax{justify-content:space-around}.duration-stats h2 br{display:none}.duration-stats h2{line-height:1.4}.radial{width:220px;height:220px}.channel-grid{margin:10px 20px}.chart-caption{flex-wrap:wrap}.revenue-summary b{font-size:12px}.ad-legend{font-size:9px}.consultant .vbars{gap:5px}.vbar small{font-size:8px}.vbar span{font-size:8px}.enrolled svg{width:50%;height:115px}.donut-card{min-height:240px!important}.avg-calls strong{margin-right:20%}}
.stock-icon{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:8px;background:linear-gradient(135deg,#a51cff,#633bff);color:#fff;font-size:18px;box-shadow:0 0 18px #9d20ff55}.plant-select{position:relative}.plant-select summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:7px 9px;border:1px solid #35383e;border-radius:7px;background:#111318}.plant-select summary::-webkit-details-marker{display:none}.plant-select summary small,.plant-select summary b{display:block}.plant-select summary small{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#8f9094}.plant-select summary b{font-size:12px;margin-top:1px}.plant-select summary i{font-style:normal;color:#bf39ff;font-size:18px;transition:transform .2s}.plant-select[open] summary i{transform:rotate(180deg)}.plant-options{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 5px);padding:7px;background:#111318;border:1px solid #3b3f47;border-radius:8px;box-shadow:0 12px 28px #000c}.plant-options label{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:6px;padding:6px 4px;border-radius:5px;cursor:pointer}.plant-options label:hover{background:#20232a}.plant-options input{accent-color:#b51dff}.plant-options b{font-size:9px;color:#a7a9ad}.plant-actions{text-align:right}.plant-actions button{border:0;background:transparent;color:#bd43ff;font-size:9px;font-weight:700;cursor:pointer;padding:2px 4px 5px}
.dashboard>.earnings:has(.plant-select[open]){overflow:visible;z-index:30}
.earnings .big{font-size:clamp(40px,3vw,54px);line-height:1;margin:12px 0 4px}
.plant-checklist{display:flex;align-items:center;gap:13px;margin:14px 0 0;padding:10px 12px;border:1px solid #35383e;border-radius:7px;background:#111318}
.plant-checklist legend{padding:0 5px;color:#8f9094;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.plant-checklist label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:15px;font-weight:700}
.plant-checklist input{width:19px;height:19px;margin:0;accent-color:#a51cff}
.plant-checklist b{color:#a7a9ad;font-size:12px;font-weight:600}
.ageing{display:flex;flex-direction:column;padding:14px 16px!important}.ageing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:9px}.ageing-head h2{font-size:17px}.ageing-head h2 span{color:#20dff3;font-weight:600}.ageing-head small{display:block;margin-top:4px}.ageing-key{display:flex;align-items:center;gap:6px;color:#a7a9ad;font-size:10px;white-space:nowrap}.ageing-key i{width:8px;height:8px;border-radius:2px;margin-left:8px}.ageing-key .fresh{background:#16d9d4}.ageing-key .watch{background:#ffb02e}.ageing-key .risk{background:#ff4464}.ageing-table-wrap{min-height:0;flex:1;overflow:hidden;border:1px solid #1c2025;border-radius:7px;background:#07090b}.ageing-table{width:100%;height:100%;border-collapse:collapse;table-layout:fixed}.ageing-table th,.ageing-table td{padding:4px 8px;border-bottom:1px solid #1c2025;text-align:right;font-variant-numeric:tabular-nums;line-height:1.15}.ageing-table th{background:#101318;color:#9b9ea5;font-size:9px;text-transform:uppercase;letter-spacing:.045em}.ageing-table th:first-child,.ageing-table td:first-child{text-align:left;width:30%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ageing-table tbody td{font-size:10px;font-weight:650}.ageing-table tbody tr:hover td{filter:brightness(1.2)}.ageing-table td.zero{color:#555;background:transparent!important}.ageing-table td.band-fresh{background:linear-gradient(90deg,#10d9ce12,#10d9ce30)}.ageing-table td.band-watch{background:linear-gradient(90deg,#ffb02e0e,#ffb02e30)}.ageing-table td.band-alert{background:linear-gradient(90deg,#ff7a2715,#ff7a2740);color:#ffc087}.ageing-table td.band-risk{background:linear-gradient(90deg,#ff24421c,#ff244250);color:#ff8799}.ageing-table .risk-cell{padding-top:3px;padding-bottom:3px}.risk-meter{display:grid;grid-template-columns:minmax(28px,1fr) 36px;align-items:center;gap:5px}.risk-track{height:5px;background:#20242a;border-radius:9px;overflow:hidden}.risk-track i{display:block;height:100%;width:var(--risk);background:linear-gradient(90deg,#ffb02e,#ff2f62);border-radius:inherit}.risk-meter b{font-size:9px;text-align:right}.ageing-table tfoot td{background:#15191d;border-top:1px solid #555;border-bottom:0;color:#fff;font-size:10px;font-weight:800}.ageing-table tfoot td:first-child{color:#20dff3}.ageing-table tfoot .risk-cell{color:#ff7a93}
@media(max-width:900px){.dashboard>.ageing{grid-column:1/-1;min-height:410px}.ageing{padding:12px!important}.ageing-head{flex-wrap:wrap}.ageing-table th,.ageing-table td{padding-left:4px;padding-right:4px}.ageing-table th:first-child,.ageing-table td:first-child{width:27%}.risk-meter{grid-template-columns:1fr 31px;gap:3px}}
/* Responsive dashboard: preserve readable card groups as the viewport narrows. */
@media(max-width:1180px){
  .dashboard{height:auto;min-height:100svh;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:none;padding:12px;gap:12px}
  .dashboard>.card{transform:none!important;margin:0;min-height:0}
  .dashboard>.report-title{position:relative;inset:auto;width:auto;height:auto;grid-column:1/-1;grid-row:auto;padding:14px 18px}
  .dashboard>.earnings{grid-area:auto;grid-column:span 4;min-height:210px}
  .dashboard>.ageing{grid-area:auto;grid-column:span 8;min-height:360px}
  .dashboard>.paid{grid-area:auto;grid-column:span 4;min-height:180px}
  .dashboard>.slicer{grid-area:auto;grid-column:span 4;min-height:180px}
  .dashboard>.enrolled{grid-area:auto;grid-column:span 4;min-height:180px}
  .dashboard>.channels{grid-area:auto;grid-column:span 4;grid-row:span 2;height:auto;min-height:430px}
  .dashboard>.team-sales.heatmap-card{grid-area:auto;grid-column:span 4;align-self:stretch;min-height:280px}
  .dashboard>.consultant.heatmap-card{grid-area:auto;grid-column:span 4;align-self:stretch;min-height:280px}
  .dashboard>.action-plan{grid-area:auto;grid-column:span 8;min-height:520px}
}
@media(max-width:800px){
  body{background:#070809}
  .dashboard{display:block;min-width:0;padding:10px}
  .dashboard>.card{display:block;width:auto;min-height:auto;margin:0 0 10px!important;transform:none!important}
  .dashboard>.report-title{display:flex;min-height:112px;align-items:center}
  .report-logo{width:92px;height:48px}.report-title h1{font-size:22px}.report-title p{flex-wrap:wrap;gap:4px 10px}
  .dashboard>.earnings{min-height:224px}.dashboard>.ageing{min-height:405px}.dashboard>.paid,.dashboard>.slicer,.dashboard>.enrolled{min-height:170px}
  .dashboard>.channels{min-height:440px}.dashboard>.team-sales.heatmap-card,.dashboard>.consultant.heatmap-card{min-height:310px}.dashboard>.action-plan{min-height:520px}
}
@media(max-width:480px){
  .dashboard{padding:8px}.dashboard>.card{padding:12px}
  .dashboard>.report-title{gap:10px;padding:12px}.report-logo{width:76px;height:42px}.report-kicker{font-size:9px}.report-title h1{font-size:18px}.report-title p{font-size:11px}
  .plant-checklist{gap:8px;padding:8px}.plant-checklist label{gap:5px;font-size:13px}.plant-checklist input{width:17px;height:17px}.plant-checklist b{font-size:10px}
  .dashboard>.ageing{min-height:390px}.dashboard>.channels{min-height:410px}.dashboard>.action-plan{min-height:480px}
}
