/* CHUB dashboard: tenant-scoped operational data, with no changes to other pages. */
.chub-dashboard{--dash-petrol:#123e45;--dash-teal:#168877;--dash-text:#183d43;--dash-muted:#657c7c;--dash-line:#e1eae7;display:grid;gap:24px;padding-bottom:20px}
.chub-dashboard svg{width:22px;height:22px;flex:none}
.chub-dashboard button:focus-visible{outline:3px solid #4ab8a2;outline-offset:4px}
.chub-dashboard .chub-dash-kicker{display:block;font-size:.72rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;color:var(--dash-muted)}
.chub-dashboard .chub-dash-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);gap:35px;align-items:center;border:0;border-radius:19px;margin:0;padding:32px 35px;background:linear-gradient(115deg,#163f46 0%,#164e51 62%,#126c5e 100%);color:#fff;box-shadow:0 10px 28px #194e4910}
.chub-dash-hero::after{content:"";position:absolute;width:370px;height:370px;border:1px solid #ffffff12;border-radius:50%;top:-180px;right:90px;box-shadow:0 0 0 55px #ffffff03,0 0 0 110px #ffffff02;pointer-events:none}
.chub-dash-hero-copy,.chub-dash-next{position:relative;z-index:1;min-width:0}
.chub-dashboard .chub-dash-hero .chub-dash-kicker{color:#bbddd4}
.chub-dashboard .chub-dash-hero h2{font-size:clamp(1.65rem,2.3vw,2.2rem);line-height:1.16;letter-spacing:-.035em;font-weight:650;margin:14px 0 15px}
.chub-dash-hero h2 span{color:#8be1c7}
.chub-dashboard .chub-dash-hero p{font-size:.87rem;color:#d0e2df;margin:0;overflow-wrap:anywhere}
.chub-dash-hero-facts{display:flex;gap:20px;flex-wrap:wrap;margin-top:22px;color:#c6dcda;font-size:.75rem}
.chub-dash-hero-facts b{color:#fff;font-size:1rem;font-weight:650;margin-right:4px;font-variant-numeric:tabular-nums}
.chub-dash-next{padding:22px 24px;border:1px solid #ffffff29;border-radius:12px;background:#ffffff0d;backdrop-filter:blur(4px)}
.chub-dashboard .chub-dash-next h3{font-size:1.02rem;font-weight:600;line-height:1.35;margin:12px 0 8px;color:#fff;overflow-wrap:anywhere}
.chub-dash-next-meta,.chub-dash-next-date{display:block;font-size:.76rem;line-height:1.6;color:#d2e6df;overflow-wrap:anywhere}
.chub-dash-next-date{margin-top:5px;color:#f1deb1}
.chub-dash-next-action{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:18px;margin-top:12px;border-top:1px solid #ffffff20;color:#b9ead9}
.chub-dashboard .chub-dash-next .link-button,.chub-dashboard .chub-dash-next .chub-dash-text-link{color:#fff;font-size:.82rem;line-height:1.5}
.chub-dashboard .chub-dash-next .chub-dash-text-link{margin-top:18px}
.chub-dash-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.chub-dashboard .chub-dash-card{position:relative;display:grid;justify-items:start;padding:21px 22px 19px;border:1px solid var(--dash-line);border-radius:13px;min-width:0;background:#fff;text-align:left;font-weight:400;box-shadow:0 2px 9px #173c3b03;transition:transform .15s,border-color .15s,box-shadow .15s}
.chub-dashboard .chub-dash-card:hover{background:#fff;transform:translateY(-2px);border-color:#b7d3c9;box-shadow:0 5px 18px #143e3a0a}
.chub-dash-card-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;margin-bottom:15px;border-radius:11px;background:#eaf6f0;color:#238270}
.chub-dash-card.amber .chub-dash-card-icon{background:#fbf3e3;color:#a77930}
.chub-dash-card.rose .chub-dash-card-icon{background:#f9eeee;color:#b46665}
.chub-dash-card.blue .chub-dash-card-icon{background:#edf3fa;color:#5882af}
.chub-dash-card-label{font-size:.82rem;color:var(--dash-muted);line-height:1.4}
.chub-dashboard .chub-dash-card strong{font-size:2.1rem;line-height:1.2;letter-spacing:-.045em;font-weight:650;margin:7px 0 8px;color:var(--dash-text);font-variant-numeric:tabular-nums}
.chub-dash-card-note{font-size:.73rem;color:#64776f;font-weight:400;line-height:1.5}
.chub-dash-card-arrow{position:absolute;top:29px;right:21px;color:#9bb5ac}
.chub-dash-card-arrow svg{width:18px;height:18px}
.chub-dashboard .chub-dash-card.is-active{border-color:#218d78;box-shadow:0 0 0 2px #218d7810;background:#fcfffd}
.chub-dash-followup-panel{padding:22px;border:1px solid var(--dash-line);border-radius:14px;background:#fff;min-width:0}
.chub-dashboard .chub-dash-followup-label{font-size:.88rem;line-height:1.5;font-weight:650;color:var(--dash-text);text-align:center;margin:0 0 17px}
.chub-dashboard .chub-dash-followups{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;width:100%;max-width:1100px;margin:0 auto}
.chub-dashboard .chub-dash-followups button{display:flex;flex:0 0 calc((100% - 24px)/3);align-items:center;gap:12px;padding:14px;border-radius:11px;border:1px solid var(--dash-line);background:#f8fbfa;font-size:.82rem;font-weight:550;color:#365c53;min-width:0;min-height:76px;text-align:left;transition:background .15s,border-color .15s}
.chub-dash-followup-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:9px;background:#eaf3ef;color:#508575}
.chub-dash-followup-icon svg{width:20px;height:20px}
.chub-dash-followup-name{flex:1;min-width:0;line-height:1.4;overflow-wrap:anywhere}
.chub-dash-followups button b{display:grid;place-items:center;width:34px;height:34px;flex:none;font-size:1rem;padding:3px;border-radius:9px;background:#eaf2ee;color:#295d51;text-align:center;font-weight:650;font-variant-numeric:tabular-nums}
.chub-dashboard .chub-dash-followups button.needs-attention{border-color:#ecd9b7;background:#fffcf5}
.chub-dash-followups button.needs-attention .chub-dash-followup-icon,.chub-dash-followups button.needs-attention b{background:#fbefda;color:#946522}
.chub-dashboard .chub-dash-followups button:hover,.chub-dashboard .chub-dash-followups button.is-active{background:#edf7f1;border-color:#9fcaba}
@media(max-width:1100px){.chub-dashboard .chub-dash-followups button{flex-basis:calc((100% - 12px)/2)}}
@media(max-width:520px){.chub-dash-followup-panel{padding:18px}.chub-dashboard .chub-dash-followups button{flex-basis:100%;min-height:66px}}
.chub-dash-work-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,1fr);gap:23px;align-items:start}
.chub-dash-work-grid.full{grid-template-columns:1fr}
.chub-dash-panel{border:1px solid var(--dash-line);border-radius:13px;background:#fff;overflow:hidden;min-width:0}
.chub-dash-section-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:21px 22px 17px}
.chub-dashboard .chub-dash-section-head h3{font-size:1.03rem;letter-spacing:-.015em;font-weight:650;margin:4px 0 0;color:var(--dash-text)}
.chub-dashboard .chub-dash-text-link{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:0;background:transparent;color:#267862;padding:0;font-size:.74rem;font-weight:600;white-space:nowrap}
.chub-dashboard .chub-dash-text-link:hover{background:transparent;color:#114d3f;text-decoration:underline}
.chub-dashboard .chub-dash-text-link:disabled{color:#829690;cursor:default;opacity:.65;text-decoration:none}
.chub-dash-text-link svg{width:15px;height:15px}
.chub-dash-count{font-size:.72rem;padding:5px 9px;border-radius:6px;white-space:nowrap;background:#f1f6f3;color:#658078}
.chub-dash-filters{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr) minmax(0,1fr);gap:10px;padding:0 22px}
.chub-dash-filters label{font-size:.73rem;gap:6px;color:#60786c;font-weight:500;min-width:0}
.chub-dash-filters input,.chub-dash-filters select{font-size:.76rem;padding:9px 9px;border-color:#dce6e0;border-radius:7px;min-height:38px;min-width:0;background:#fbfdfb;color:#284f47}
.chub-dash-filter-note{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 22px 12px;font-size:.7rem;color:#60786c;border-bottom:1px solid #eaf0eb}
.chub-dash-filter-note .chub-dash-text-link{font-size:.67rem;min-height:25px}
.chub-dashboard .task-list{padding:0 22px}
.chub-dashboard .task-row{position:relative;padding:18px 0;gap:16px;border-color:#ecf1ec;align-items:center}
.chub-dashboard .task-row>div{min-width:0;overflow-wrap:anywhere;padding-left:17px}
.chub-dashboard .task-row>div::before{content:"";position:absolute;width:6px;height:6px;left:0;top:27px;border-radius:50%;background:#54a590}
.chub-dashboard .task-row.chub-dash-task-overdue>div::before{background:#c38b49}
.chub-dashboard .task-row .link-button{color:#214d45;font-size:.86rem;font-weight:550;line-height:1.5}
.chub-dashboard .task-row .cell-sub{color:#60786c;font-size:.75rem;line-height:1.55;margin-top:4px}
.chub-dashboard .task-row .badge{color:#587063;background:#f1f5f0;font-size:.71rem;line-height:1.5;padding:5px 8px;border-radius:5px}
.chub-dashboard .task-row .chub-dash-due-overdue .badge{background:#fff2df;color:#96631e}
.chub-dashboard #dashboard-tasks .empty{padding:30px 23px;font-size:.82rem;color:#60786c;line-height:1.65}
.chub-dash-side{display:grid;gap:20px;min-width:0}
.chub-dash-side-card{overflow:hidden;border-radius:13px;border:1px solid var(--dash-line);background:#fff}
.chub-dash-side-card>.chub-dash-panel{border:0;border-radius:0}
.chub-dash-meter .chub-dash-section-head{padding-bottom:13px}
.chub-dash-meter-body{display:flex;align-items:center;gap:19px;padding:3px 22px 19px}
.chub-dash-ring{position:relative;display:grid;place-items:center;flex:none;width:95px;height:95px}
.chub-dash-ring svg{width:95px;height:95px;transform:rotate(-90deg)}
.chub-dash-ring circle{fill:none;stroke-width:7}
.chub-dash-ring-track{stroke:#edf3ee}
.chub-dash-ring-value{stroke:#39a485;stroke-linecap:round}
.chub-dash-ring strong{position:absolute;color:#24574a;font-size:1.25rem;letter-spacing:-.03em;font-weight:650;font-variant-numeric:tabular-nums}
.chub-dash-fraction{display:block;color:#244b42;font-size:1.4rem;letter-spacing:-.025em;font-weight:650;font-variant-numeric:tabular-nums}
.chub-dash-fraction span{font-size:.85rem;font-weight:400;color:#8b9d91;letter-spacing:0}
.chub-dash-meter-label{display:block;font-size:.78rem;color:#60786c;line-height:1.55;margin-top:4px}
.chub-dash-no-data{display:block;font-size:.7rem;color:#60786c;line-height:1.5;margin-top:5px}
.chub-dash-coverage-legend{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:0 22px;font-size:.7rem;color:#60786c}
.chub-dash-coverage-legend span{display:flex;align-items:center;gap:5px}
.chub-dash-coverage-legend i{width:6px;height:6px;border-radius:50%;background:#cfdad0}
.chub-dash-coverage-legend i.included{background:#51a889}.chub-dash-coverage-legend i.excluded{background:#99b2b5}
.chub-dash-coverage-legend b{font-weight:600;color:#546e5f}
.chub-dash-caption{display:block;font-size:.7rem;line-height:1.6;color:#60786c;margin:13px 22px 18px}
.chub-dash-kpis{padding:0 22px 8px}
.chub-dash-kpi{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #edf2ed;min-width:0}
.chub-dash-kpi:last-of-type{border:0}
.chub-dash-kpi-name{display:grid;justify-items:start;gap:5px;min-width:0;overflow-wrap:anywhere}
.chub-dashboard .chub-dash-kpi-name .link-button{font-size:.79rem;color:#2d5d4d;font-weight:550}
.chub-dash-kpi-state{font-size:.69rem;color:#60736b;line-height:1.6;padding:2px 7px;border-radius:4px;background:#f1f4f0}
.chub-dash-kpi-state.pending{color:#3d6375;background:#edf5f8}.chub-dash-kpi-state.negative{color:#86543d;background:#fff3e9}.chub-dash-kpi-state.positive{color:#2e6b51;background:#eff8f1}
.chub-dash-kpi-value{text-align:right;flex:none}
.chub-dash-kpi-value strong{display:block;font-size:1.05rem;color:#2d5b46;font-weight:650;font-variant-numeric:tabular-nums}
.chub-dash-kpi-value>span{display:block;color:#60786c;font-size:.69rem;line-height:1.5;max-width:100px;overflow-wrap:anywhere}
.chub-dash-blank{display:grid;gap:8px;justify-items:start;padding:10px 0 21px;line-height:1.6}
.chub-dash-blank strong{font-size:.82rem;color:#4f7160;font-weight:550}
.chub-dash-blank>span{font-size:.77rem;color:#60786c}
@media(min-width:1450px){.chub-dash-work-grid{grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr)}.chub-dashboard .chub-dash-hero{padding:36px 40px}}
@media(max-width:1150px){.chub-dash-work-grid{grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr);gap:17px}.chub-dash-filters{grid-template-columns:1fr 1fr}.chub-dash-filters label:first-child{grid-column:1/-1}.chub-dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.chub-dash-hero-facts{gap:9px 17px}.chub-dashboard .chub-dash-hero{gap:25px;padding:27px}.chub-dash-followup-label{flex-basis:100%;margin-bottom:2px}}
@media(max-width:900px){.chub-dash-work-grid{grid-template-columns:1fr}.chub-dash-side{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.chub-dash-side-card:last-child:nth-child(odd){grid-column:1/-1}.chub-dashboard .chub-dash-hero{grid-template-columns:minmax(0,1fr) minmax(230px,.8fr);gap:22px}.chub-dash-next{padding:19px}.chub-dash-filters{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}.chub-dash-filters label:first-child{grid-column:auto}}
@media(max-width:650px){.chub-dashboard{gap:19px}.chub-dashboard .chub-dash-hero{grid-template-columns:1fr;gap:21px;padding:25px;border-radius:14px}.chub-dashboard .chub-dash-hero h2{font-size:1.8rem}.chub-dash-next{padding:19px 21px}.chub-dash-next-action{margin-top:9px;padding-top:12px}.chub-dash-cards{gap:12px}.chub-dashboard .chub-dash-card{padding:17px 16px}.chub-dash-card-icon{width:33px;height:33px;border-radius:9px;margin-bottom:12px}.chub-dash-card-icon svg{width:19px;height:19px}.chub-dash-card-label{font-size:.76rem}.chub-dashboard .chub-dash-card strong{font-size:1.8rem}.chub-dash-card-note{font-size:.65rem}.chub-dash-card-arrow{top:24px;right:15px}.chub-dash-card-arrow svg{width:15px;height:15px}.chub-dash-followups{gap:8px}.chub-dashboard .chub-dash-followups button{padding:8px 10px}.chub-dash-filters{grid-template-columns:1fr 1fr;padding:0 18px}.chub-dash-filters label:first-child{grid-column:1/-1}.chub-dash-section-head{padding:19px 18px 16px}.chub-dashboard .chub-dash-section-head h3{font-size:.98rem}.chub-dash-filter-note{padding:10px 18px 12px;align-items:flex-start}.chub-dashboard .task-list{padding:0 18px}.chub-dashboard .task-row{display:flex}.chub-dashboard .task-row>span{margin-top:0}.chub-dash-side{grid-template-columns:1fr;gap:17px}.chub-dash-meter-body{padding-left:18px;padding-right:18px}.chub-dash-coverage-legend{padding:0 18px}.chub-dash-caption{margin-left:18px;margin-right:18px}.chub-dash-kpis{padding-left:18px;padding-right:18px}.chub-dash-side-card:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:390px){.chub-dashboard .chub-dash-hero{padding:22px 19px}.chub-dash-hero-facts{display:grid;gap:7px}.chub-dashboard .task-row{display:block}.chub-dashboard .task-row>span{display:inline-block;margin:8px 0 0 17px}.chub-dash-filter-note>span{max-width:165px}.chub-dash-cards{gap:9px}}
@media(prefers-reduced-motion:reduce){.chub-dashboard .chub-dash-card{transition:none}.chub-dashboard .chub-dash-card:hover{transform:none}}
