:root{font-family:Inter,system-ui,Arial,sans-serif;color:#49372f;background:#fffaf8}*{box-sizing:border-box}body{margin:0}.wrap{max-width:1120px;margin:auto;padding:14px}header{background:#e9ad9c;border-radius:16px;padding:24px}header small{letter-spacing:2px;font-weight:800}header h1{font-size:32px;margin:6px 0}header p{margin:0}.warning{background:#fff1d5;border:1px solid #d5ac5b;padding:13px;border-radius:10px;margin:12px 0;font-size:13px}.switch,nav,.actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}button{font:inherit;cursor:pointer;border:1px solid #e4c6bb;background:white;border-radius:10px;padding:10px 14px;color:#49372f}button.active,button.primary{background:#e9ad9c;border-color:#e9ad9c;font-weight:800}button:disabled{opacity:.45;cursor:not-allowed}.panel{border:1px solid #e9dfdb;border-radius:15px;padding:20px;margin:15px 0;background:#fff}h2{font-size:23px;margin:0 0 13px}h3{font-size:17px;margin:0 0 10px}.muted{color:#756b67;font-size:13px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tile{background:#e9ad9c;min-height:145px;text-align:left;padding:22px;border:0;border-radius:15px;font-size:19px;font-weight:800}.tile small{display:block;margin-top:15px;font-size:14px;font-weight:400}.tile.wide{grid-column:1/-1}.tile.new{background:#d8f3df;border:2px solid #6bad7d}.card{border:1px solid #e9dfdb;border-radius:12px;padding:15px;margin:12px 0}.order-card{text-align:left;min-height:170px;padding:19px;border:1px solid #e9ad9c;border-radius:14px;background:white;width:100%}.order-card h3{margin:9px 0}.order-card .symbol{display:inline-flex;background:#f5d7ce;padding:12px;border-radius:10px;font-size:25px}.tag{display:inline-block;background:#f5e7e1;border-radius:20px;padding:5px 9px;font-size:12px}.good{background:#def3e5;color:#245b39;border-radius:7px;padding:5px 8px}.bad{background:#fbe4e3;color:#9a4039;border-radius:7px;padding:5px 8px}label{font-size:13px;font-weight:700;display:block;margin:12px 0 6px}input,select,textarea{font:inherit;padding:11px;width:100%;border:1px solid #d9ceca;border-radius:9px;background:white;color:#49372f}input[type=checkbox],input[type=radio]{width:auto}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;min-width:560px}td,th{text-align:left;border-bottom:1px solid #e9dfdb;padding:10px}.comment{background:#faf3f0;padding:11px;border-radius:10px;margin:9px 0}.photo{max-width:100%;max-height:240px;object-fit:contain;border-radius:10px}.topbar{display:flex;justify-content:space-between;align-items:center}.topbar h2{margin:0}.metric{background:#fcf2ed;padding:17px;border-radius:12px}.metric strong{font-size:29px;display:block;margin:7px 0}.progress{height:10px;border-radius:10px;background:#f3e1da;overflow:hidden}.progress span{display:block;height:100%;background:#e9ad9c}.tiny{font-size:12px}#loginError{color:#a32f2f}@media(max-width:550px){.grid{grid-template-columns:1fr}.tile.wide{grid-column:auto}.tile{min-height:110px;font-size:16px}.panel{padding:14px}}

.request-log{margin-top:28px;border-top:1px solid var(--viz-border);padding-top:20px}.request-log-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.status-approved{background:#def3e5;color:#255e3c}.status-declined{background:#fbe4e3;color:#953e39}

/* Compact KPI cards and month selection */
#managerBody .panel .grid .card{margin:0;padding:12px 15px;min-height:84px}#managerBody .panel .grid .card h2{margin:5px 0;font-size:23px}#managerBody .panel .grid{gap:10px}.month-picker-button{display:block;font-size:18px;font-weight:800;margin:5px 0 13px;background:#fff5f0}.month-picker-native{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
/* Distinct inventory sections */
.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:start}.inventory-category{border:1px solid #e8dad3;border-radius:12px;overflow:hidden}.inventory-category h3{padding:12px 15px;margin:0;color:#382c26;font-size:18px;font-weight:900;letter-spacing:.03em}.inventory-category table{min-width:0}.inventory-category th{background:#fff8f4;font-size:12px;text-transform:uppercase}.inventory-category td:first-child{font-weight:600}.inventory-category th:nth-child(n+2),.inventory-category td:nth-child(n+2){text-align:center}.inventory-category tr.needs-order{background:#dff2e2}.inventory-category tr.needs-order td:last-child{font-weight:800;color:#285c39}
/* Biweekly payroll journal */
.payroll-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}.payroll-employee{border:1px solid #ebc7b8;border-radius:12px;margin:17px 0;padding:14px;background:#fffaf8}.payroll-employee:nth-child(2){background:#fff4ef}.payroll-employee:nth-child(3){background:#fdf0e9}.payroll-employee legend{font-size:19px;font-weight:850;padding:0 8px}.payroll-employee-total{text-align:right;font-weight:850;font-size:17px}.bonus-reference{background:#fff1e7;border-radius:12px;padding:15px;position:sticky;top:10px}.bonus-reference table{min-width:0}.payroll-period{border:1px solid #ebd3c8;border-radius:12px;margin:12px 0;overflow:hidden}.payroll-period summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;cursor:pointer;background:#fff1e9;padding:16px}.payroll-period-body{padding:16px}.payroll-employee-saved{border-bottom:1px solid #ead6cc;padding:12px 0}.payroll-saved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.payroll-withdrawal{background:#ffe2cf;padding:15px;margin:14px 0;border-radius:10px;display:flex;justify-content:space-between;gap:12px}
@media(max-width:700px){.inventory-grid,.payroll-layout{grid-template-columns:1fr}.bonus-reference{position:static}.payroll-saved-grid{grid-template-columns:1fr}}

/* Targeted layout refinements */
.inventory-grid{gap:11px}.inventory-category td,.inventory-category th{padding:7px 9px}.inventory-category h3{padding:10px 13px}.inventory-category table{font-size:12px}
.team-inventory-category{margin:14px 0}.team-inventory-head,.team-inventory-row{display:grid;grid-template-columns:minmax(140px,2fr) 78px minmax(95px,1fr) 120px;gap:10px;align-items:center;padding:8px 13px}.team-inventory-head{font-size:12px;text-transform:uppercase;font-weight:800;background:#fff7f3;color:#6d554c}.team-inventory-row{border-top:1px solid #f0e2dc}.team-inventory-row>label:first-child{margin:0}.team-inventory-row input[type=number]{padding:8px}.team-inventory-row .last-count{display:inline-block;width:fit-content;min-width:38px;text-align:center;background:#f3e8e3;border-radius:8px;padding:7px 9px;font-weight:850}.team-inventory-row .need-more{margin:0;white-space:nowrap;font-size:12px}.team-inventory-row .need-more input{vertical-align:middle}
.payroll-staff-0{background:#e9f1ff!important;border:2px solid #8caee8!important}.payroll-staff-0 legend{background:#d3e3ff;border-radius:8px;color:#264c80}.payroll-staff-2{background:#ffe8d5!important;border:2px solid #f4a96b!important}.payroll-staff-2 legend{background:#ffcc9e;border-radius:8px;color:#844018}.payroll-reference-field{background:#e6e6e6;border:1px solid #b9b9b9;border-radius:10px;padding:9px 12px}.payroll-reference-field input{background:#f2f2f2;border-color:#c4c4c4}.payroll-reference-field small{font-size:11px;color:#555}.payroll-sales-saved{background:#eeeeee;padding:6px;border-radius:6px}
@media(max-width:700px){.team-inventory-head{display:none}.team-inventory-row{grid-template-columns:minmax(90px,1fr) 60px minmax(75px,1fr);gap:7px;padding:9px}.team-inventory-row .need-more{grid-column:3;white-space:normal}.team-inventory-row .last-count:before{content:'Last: ';font-size:10px}.team-inventory-row .last-count{padding:6px 4px;font-size:12px}.team-inventory-row input[type=number]{padding:8px 5px}}

/* Team KPI overview and weekly cards; manager and other team screens unchanged */
.team-kpi-heading{display:flex;justify-content:space-between;align-items:start;gap:18px;flex-wrap:wrap}.team-kpi-heading h2{margin-bottom:3px}.team-kpi-heading label{margin-top:0}.team-kpi-heading input{max-width:220px}.team-kpi-month{margin:10px 0 14px}.team-kpi-hero{padding:23px;border-radius:16px;background:#f6d5c9;border:1px solid #e9b6a5;color:#51382f}.team-kpi-hero>small{display:block;font-weight:800;letter-spacing:.04em}.team-kpi-hero>strong{display:block;font-size:36px;margin:6px 0 16px}.team-kpi-hero-bottom{max-width:500px}.team-kpi-hero-bottom>span{font-weight:750}.team-kpi-track{height:9px;background:#fff;border-radius:20px;overflow:hidden;margin:9px 0 5px}.team-kpi-track>div{height:100%;background:#72ad83;border-radius:20px}.team-kpi-percent{font-size:12px;font-weight:800;color:#356a48}.team-kpi-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 24px}.team-kpi-card{border:1px solid #e9d6ce;background:#fffaf8;border-radius:13px;padding:15px}.team-kpi-card small,.team-week-stats small{display:block;color:#705d54;font-weight:750}.team-kpi-card strong{display:block;font-size:24px;margin:7px 0}.team-kpi-card>span{display:block;color:#705d54;font-size:12px}.team-kpi-card .team-kpi-track{background:#f2e9e5}.team-week-title{margin-bottom:4px}.team-week-list{display:grid;gap:13px;margin-top:14px}.team-week-card{border:1px solid #e9d6ce;border-radius:14px;background:#fff;padding:18px}.team-week-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.team-week-heading h3{margin:0;font-size:19px}.team-week-badge{border-radius:25px;padding:6px 10px;background:#e4f3e7;color:#356a48;font-weight:800;font-size:12px}.team-week-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}.team-week-stats>div{padding:12px;background:#fff6f1;border-radius:10px}.team-week-stats strong{display:block;margin-top:7px;font-size:19px}.team-week-stats .team-week-gross{background:#f7dfd4}.team-week-progress{padding:12px 14px;background:#f6f9f5;border-radius:10px}.team-week-progress>small{font-weight:750}.team-manager-note{background:#fff3dc;border-left:4px solid #e9b970;border-radius:8px;padding:13px;margin-top:13px}.team-manager-note p{white-space:pre-wrap;margin-bottom:0}.team-week-comments{margin-top:13px;border-top:1px solid #eee1da;padding-top:11px}.team-week-comments summary{cursor:pointer;font-weight:750;color:#694b40}@media(max-width:600px){.team-kpi-overview{grid-template-columns:1fr}.team-week-stats{grid-template-columns:1fr}.team-kpi-hero>strong{font-size:29px}}

/* Targeted shift summaries and scheduled workdays */
.workdays-panel,.rebooking-panel{margin:12px 0;padding:16px;border:1px solid #c9dfcf;background:#f3faf4;border-radius:13px}.workdays-panel h3,.rebooking-panel h3{margin-bottom:10px}.workdays-controls{display:flex;gap:10px;align-items:end;max-width:370px}.workdays-controls input{max-width:135px}.workdays-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.workdays-stats span{background:white;padding:13px;border-radius:10px}.workdays-stats strong{display:block;font-size:22px}.workdays-stats small{display:block;color:#665a53}.rebooking-panel>strong{font-size:20px}.shift-card{border:1px solid #ead5cc;background:#fffdfb;border-radius:14px;padding:17px;margin:13px 0}.shift-card-top{display:flex;justify-content:space-between;gap:10px;align-items:start;flex-wrap:wrap}.shift-card-top strong{font-size:17px}.shift-card-top small{display:block;color:#756b67;margin-top:5px}.shift-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0}.shift-stat-grid span{background:#f9eae3;border-radius:9px;padding:12px;font-size:12px;color:#685148}.shift-stat-grid strong{display:block;font-size:22px;color:#49372f;margin-top:6px}.shift-note{background:#fff3de;border-left:4px solid #e5b576;border-radius:8px;padding:12px}.shift-note p{white-space:pre-wrap;margin-bottom:0}@media(max-width:600px){.shift-stat-grid,.workdays-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Focused September refinements */
.inventory-grid{display:block;columns:2;column-gap:12px}.inventory-category{display:inline-block;width:100%;vertical-align:top;break-inside:avoid;page-break-inside:avoid;margin:0 0 12px}.inventory-category table{width:100%}
#teamBody .tile.wide{grid-column:auto}.workdays-inline{display:inline-block;background:#f1f9f3;border:1px solid #c9dfcf;border-radius:9px;padding:9px 13px;margin:5px 0 13px;font-weight:700}
.payroll-months{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0}.payroll-months button{background:#fff5f0;border:1px solid #e5b4a4}.payroll-months button.active{background:#e9ad9c;font-weight:800}.payroll-month-results{margin-top:15px}
@media(max-width:700px){.inventory-grid{columns:1}}

/* Month selection panel, only shown when the reporting month is clicked. */
.month-chooser[hidden]{display:none!important}.month-chooser{display:flex;flex-wrap:wrap;align-items:end;gap:10px;padding:12px;margin:-5px 0 15px;border:1px solid #eac9be;border-radius:12px;background:#fff9f6;max-width:530px}.month-chooser label{margin:0}.month-chooser select{width:auto;min-width:140px}.month-chooser input{width:100px}.month-chooser button{align-self:end}

/* Logo header only: all other site styling preserved */
.site-header{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.site-logo{display:block;width:min(340px,100%);height:auto;object-fit:contain;flex-shrink:1}.site-header-copy{min-width:170px;flex:1}@media(max-width:600px){.site-header{gap:12px}.site-logo{width:min(270px,100%)}}

/* Requested focused refinements */
.monthly-overview{border:1px solid #ecd1c6;border-radius:12px;margin:12px 0;overflow:hidden;background:#fffdfb}
.monthly-overview>summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;list-style-position:inside}
.monthly-overview>summary strong{font-size:18px}.monthly-overview>summary span{font-size:15px}.monthly-overview .tablewrap{padding:0 12px 12px}
.shift-prebook-tag{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:11px 19px;border-radius:13px;min-width:155px;font-size:19px}
.shift-prebook-tag small{font-size:15px;font-weight:700}.prebook-good{background:#ddf5e5;color:#235a39}.prebook-low{background:#ffe1df;color:#9c3936}
@media(max-width:650px){.monthly-overview>summary{align-items:flex-start;flex-direction:column}}

/* Unread team shift summaries on manager navigation */
#managerNav button.manager-shift-new{background:#d8f3df;border-color:#6bad7d;color:#245b39;font-weight:800}

/* Manager KPI overview: compact prebooking beside Google Reviews. */
#managerBody .panel .grid .rebooking-panel{margin:0;padding:12px 15px;min-height:84px;min-width:0;display:flex;flex-direction:column;justify-content:center}
#managerBody .panel .grid .rebooking-panel h3{font-size:14px;margin:0 0 6px}
#managerBody .panel .grid .rebooking-panel>strong{font-size:19px;line-height:1.25;margin-bottom:7px}
#managerBody .panel .grid .rebooking-panel .progress{height:10px}
#managerBody .panel .grid .rebooking-panel small{margin-top:6px;line-height:1.35}

/* Targeted September refinements */
.site-header-copy h1{letter-spacing:.04em}
.year-total{margin-top:22px;padding:16px 18px;border:1px solid #e9c9bc;background:#fff5f0;border-radius:13px}.year-total strong{display:block;margin-bottom:12px}.year-total td{font-weight:800}
.manager-leave-message{margin:13px 0;padding:13px 16px;border-radius:10px;background:#e6f5e9;border:1px solid #b6dfc0;color:#31583a}
#teamBody .team-kpi-overview .rebooking-panel{margin:0;padding:15px;min-width:0;display:flex;flex-direction:column;justify-content:center;background:#f5fcf7;border:1px solid #cce3d2;border-radius:13px}
#teamBody .team-kpi-overview .rebooking-panel h3{font-size:15px;margin:0 0 8px}
#teamBody .team-kpi-overview .rebooking-panel>strong{font-size:19px;margin-bottom:9px}
#teamBody .team-kpi-overview .rebooking-panel small{line-height:1.4;margin-top:8px}
.team-weekly-section{margin-top:30px!important;border-top:7px solid #edb19f!important;background:#fffaf7!important}
.team-weekly-section>h2{margin-top:0}
@media(max-width:600px){#teamBody .team-kpi-overview{grid-template-columns:repeat(2,minmax(0,1fr))}#teamBody .team-kpi-overview .rebooking-panel>strong{font-size:16px}}

/* Approved Option D: weekly cards with row-aligned metrics and week-on-week changes. */
.weekly-option-d-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px;align-items:stretch}
.weekly-option-d{padding:0;overflow:hidden;display:flex;flex-direction:column;border-color:#e7b6a7}
.weekly-option-d .team-week-heading{padding:16px;background:#e9ad9c;color:#4b352d;min-height:65px}
.weekly-option-d .weekly-aligned-row{padding:13px 15px;border-bottom:1px solid #eedbd4;min-height:100px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.weekly-option-d .weekly-aligned-row:nth-of-type(4){background:#f8e6dd}
.weekly-option-d .weekly-aligned-row small{font-size:12px;font-weight:750;color:#705d54}
.weekly-option-d .weekly-aligned-row strong{font-size:21px}
.weekly-change{display:inline-block;font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px}
.weekly-change.up{background:#e4f5e9;color:#28603e}.weekly-change.down{background:#fde6e5;color:#a13c3c}.weekly-change.baseline{background:#f1ece8;color:#71635d}
.weekly-option-d .weekly-card-footer{padding:14px 15px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:auto;background:#fffaf7}
.weekly-option-d .weekly-card-footer strong{font-size:19px}
.weekly-option-d .team-manager-note,.weekly-option-d .team-week-comments{margin:12px}
@media(max-width:600px){.weekly-option-d-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-option-d .weekly-aligned-row{padding:10px;min-height:95px}.weekly-option-d .team-week-heading{padding:10px}.weekly-option-d .team-week-heading h3{font-size:15px}.weekly-option-d .weekly-aligned-row strong{font-size:17px}}
.io-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px;border-bottom:1px solid #e8d7ce;flex-wrap:wrap}.io-item span{flex:1;min-width:125px}.io-item small{display:block;color:#8b716a}.io-item label{font-size:12px}.io-item input[type=number]{width:74px;display:block}.io-item.needs-order{background:#e6f4e5}.io-item input[type=checkbox]{width:auto}

/* Shift summary changes only */
.shift-comment{border:1px solid #eadbd4;border-radius:12px;padding:12px 14px;margin:10px 0;background:#fffaf7}.shift-comment.manager-reply{background:#fff0d8;border:2px solid #db9c52;box-shadow:0 2px 9px #a867301c}.shift-comment-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.shift-comment-heading strong{font-size:1.02rem}.shift-comment-heading small{opacity:.75}.shift-comment p{margin:9px 0 2px;white-space:pre-wrap}.shift-delete{background:transparent;border:1px solid #a94b4b;color:#8f3535;border-radius:9px;padding:7px 11px;margin:12px 0;cursor:pointer}

/* Targeted weekly review and time-off calendar additions */
.weekly-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:14px;margin-top:15px}.weekly-review-card{background:#fff9f5;border:1px solid #eac2b3;border-top:7px solid #e7a78f;border-radius:14px;padding:16px}.weekly-review-card h3{margin-top:0}.reviewed{color:#2d7453;font-weight:700}.to-calendar{background:#fffaf7;border:1px solid #ead1c7;border-radius:16px;padding:16px;margin:20px 0}.to-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.to-calendar-grid>strong{text-align:center;font-size:12px}.to-calendar-day{min-height:84px;padding:5px;border:1px solid #ecd9d1;border-radius:8px;min-width:0;overflow-wrap:anywhere}.shift-comment.manager-reply{border:2px solid #d48a73;background:#fff0e8;border-radius:12px;padding:13px;margin:10px 0}.shift-comment-heading{display:flex;gap:12px;align-items:baseline}.shift-comment-heading small{font-size:12px}.shift-comment p{margin:7px 0 0;white-space:pre-wrap}.manager-shift-new{background:#39845c!important;color:white!important}@media(max-width:550px){.to-calendar-day{min-height:64px;font-size:11px;padding:3px}.to-calendar-day span{font-size:9px!important}}

/* Reference-matched Option D weekly cards: identical aligned rows on manager and team views. */
.weekly-option-d-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:14px;align-items:stretch}
.weekly-option-d{background:#fff;border:1px solid #e7ae9d;border-radius:13px;box-shadow:none}
.weekly-option-d .team-week-heading{background:#e9ae9c;justify-content:center;text-align:center;padding:17px 12px;min-height:64px}
.weekly-option-d .team-week-heading h3{font-size:21px;font-weight:800;color:#292522}
.weekly-option-d .weekly-aligned-row{background:#fff!important;min-height:126px;padding:16px;gap:8px;border-bottom:1px solid #ebd4cb}
.weekly-option-d .weekly-aligned-row small{font-size:16px;font-weight:400;color:#656565}
.weekly-option-d .weekly-aligned-row strong{font-size:29px;font-weight:800;color:#222}
.weekly-option-d .weekly-change{font-size:15px;padding:5px 11px}
.weekly-option-d .weekly-change.baseline{background:transparent;padding:0;color:#6b6b6b;font-weight:400}
.weekly-option-d .weekly-review-actions{padding:15px;display:grid;gap:12px;margin-top:auto}
.weekly-option-d .weekly-review-actions .team-manager-note{margin:0}
@media(max-width:600px){.weekly-option-d-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.weekly-option-d .weekly-aligned-row{min-height:112px}.weekly-option-d .weekly-aligned-row strong{font-size:25px}}

/* Compact Option D cards, preserving aligned metric rows. */
.weekly-option-d-grid,.weekly-review-grid:has(.weekly-option-d){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}
.weekly-option-d{max-width:340px;font-size:14px}
.weekly-option-d .team-week-heading{padding:10px 12px}
.weekly-option-d .team-week-heading h3{font-size:16px;margin:0}
.weekly-option-d .weekly-aligned-row{padding:9px 12px;min-height:0}
.weekly-option-d .weekly-aligned-row strong{font-size:23px}
.weekly-option-d .weekly-change{font-size:12px;padding:3px 8px}
.weekly-option-d .weekly-card-footer{padding:9px 12px}

@media(max-width:850px){.payroll-entry-layout{grid-template-columns:1fr!important}.payroll-entry-layout aside{position:static!important}}

/* Scoped staff palette for manager KPI pages and live shift summaries. */
.kpi-person-andrea{--staff-bg:#dceeff;--staff-border:#8db9e8}.kpi-person-alondra{--staff-bg:#eee8ff;--staff-border:#b6a4df}.kpi-person-lake{--staff-bg:#ffe4f0;--staff-border:#e9a6c5}
.kpi-person-andrea .metric,.kpi-person-alondra .metric,.kpi-person-lake .metric{background:var(--staff-bg)!important;border-color:var(--staff-border)!important}
.kpi-person-andrea .card,.kpi-person-alondra .card,.kpi-person-lake .card{border-color:var(--staff-border)!important;background:color-mix(in srgb,var(--staff-bg) 45%,white)!important}
.kpi-person-andrea [data-person="0"],.kpi-person-alondra [data-person="1"],.kpi-person-lake [data-person="2"]{background:var(--staff-bg)!important;border-color:var(--staff-border)!important}
.shift-card.shift-andrea{border:2px solid #8db9e8;background:#f1f8ff}.shift-card.shift-andrea .shift-stat-grid span{background:#dceeff}
.shift-card.shift-alondra{border:2px solid #b6a4df;background:#f8f5ff}.shift-card.shift-alondra .shift-stat-grid span{background:#eee8ff}
.shift-card.shift-other{border:2px solid #e9a6c5;background:#fff4f9}.shift-card.shift-other .shift-stat-grid span{background:#ffe4f0}
.week-review-checks{display:flex;gap:5px;flex-wrap:wrap}.week-review-check{font-size:11px;border-radius:15px;padding:4px 7px;background:#e8e8e8;color:#737373;font-weight:800}.week-review-check.is-reviewed{background:#d8f5e2;color:#24723f}.week-review-check.not-reviewed{background:#e8e8e8;color:#777}
.monthly-card-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));gap:13px;align-items:start}
.monthly-result-card{margin:0}.monthly-result-card h3{margin:0;padding:12px 15px;background:#e9ad9c;font-size:17px}.monthly-card-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:9px 13px;background:#fff5f1;font-size:13px}
.monthly-card-row{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:5px;align-items:center;padding:9px 10px;border-top:1px solid #eadbd4;font-size:12px}.monthly-card-row span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.monthly-card-label{font-weight:850;background:#faf0ec}.monthly-card-row .good{background:#e0f5e7;color:#25633e;border-radius:5px;padding:4px}.monthly-card-row .bad{background:#ffe4e4;color:#a23a3a;border-radius:5px;padding:4px}
/* Use a two-column grid instead of newspaper columns so Zandiland follows Cleaning Items. */
.inventory-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;align-items:start;gap:12px}
.inventory-category{display:block!important;width:auto!important;margin:0!important}
.inventory-cat-bushbalm{grid-column:1;grid-row:1}.inventory-cat-daily-items{grid-column:2;grid-row:1 / span 3}.inventory-cat-cleaning-items{grid-column:1;grid-row:2}.inventory-cat-zandiland{grid-column:1;grid-row:3}.inventory-cat-luv-scrub{grid-column:1;grid-row:4}
@media(max-width:700px){.inventory-grid{grid-template-columns:1fr!important}.inventory-category{grid-column:1!important;grid-row:auto!important}}

.kpi-person-andrea{--staff-bg:#f5e9eb;--staff-border:#894c5a;--staff-solid:#894c5a}
.kpi-person-alondra{--staff-bg:#eee8ff;--staff-border:#9b89ca;--staff-solid:#8975bd}
.kpi-person-lake{--staff-bg:#ffe4f0;--staff-border:#e9a6c5;--staff-solid:#d989b0}
.kpi-person-andrea .team-week-heading,.kpi-person-andrea .month-tracker-title,
.kpi-person-alondra .team-week-heading,.kpi-person-alondra .month-tracker-title,
.kpi-person-lake .team-week-heading,.kpi-person-lake .month-tracker-title{background:var(--staff-solid)!important;color:white!important}
.kpi-person-andrea .team-week-heading h3,.kpi-person-alondra .team-week-heading h3,.kpi-person-lake .team-week-heading h3{color:white!important}
.kpi-person-andrea .weekly-option-d,.kpi-person-alondra .weekly-option-d,.kpi-person-lake .weekly-option-d{border-color:var(--staff-border)!important}
.kpi-person-andrea .weekly-aligned-row,.kpi-person-alondra .weekly-aligned-row,.kpi-person-lake .weekly-aligned-row{background:var(--staff-bg)!important}
.kpi-person-andrea .metric,.kpi-person-alondra .metric,.kpi-person-lake .metric{background:var(--staff-bg)!important;border-color:var(--staff-border)!important}
.kpi-person-andrea .card,.kpi-person-alondra .card,.kpi-person-lake .card{border-color:var(--staff-border)!important;background:var(--staff-bg)!important}
.month-tracker{width:100%;border-collapse:collapse;min-width:780px;font-variant-numeric:tabular-nums;font-size:13px}
.month-tracker th,.month-tracker td{padding:10px 8px;border:1px solid #ddd0cb;text-align:right;white-space:nowrap}
.month-tracker th:first-child{text-align:left}
.month-tracker thead th{background:#e9ad9c;color:#302623;text-align:center}
.month-tracker .month-tracker-title{font-size:17px;color:white;background:#b9897d}
.month-tracker tbody tr:nth-child(even){background:#faf8f7}
.month-tracker .month-met td:last-child{background:#d9f0e3;color:#24633f;font-weight:700}
.month-tracker .month-short td:last-child{background:#ffe0e0;color:#9e3535;font-weight:700}
.month-tracker-totals{font-weight:800;background:#f1f5ed!important}

/* Focused compact layout and Andrea blue, October 1. */
.kpi-person-andrea{--staff-bg:#e9f4ff;--staff-border:#6b9cda;--staff-solid:#72a6e0}
.kpi-person-andrea .team-week-heading,.kpi-person-andrea .month-tracker-title{background:var(--staff-solid)!important;color:#fff!important}
.kpi-person-andrea .team-week-heading h3{color:#fff!important}
.kpi-person-andrea .weekly-option-d{border-color:var(--staff-border)!important}
.kpi-person-andrea .weekly-aligned-row{background:var(--staff-bg)!important}
.kpi-person-andrea .metric,.kpi-person-andrea .card{background:var(--staff-bg)!important;border-color:var(--staff-border)!important}
.kpi-person-andrea [data-person="0"]{background:var(--staff-bg)!important;border-color:var(--staff-border)!important}
.kpi-person-andrea .month-tracker thead th{background:#72a6e0;color:#fff}
.kpi-person-andrea .month-tracker tbody tr:nth-child(even){background:#f0f7ff}
.kpi-person-andrea .month-tracker .month-tracker-totals{background:#e9f4ff!important}
.shift-card.shift-andrea{border-color:#6b9cda;background:#f1f8ff}
.shift-card.shift-andrea .shift-stat-grid span{background:#dceeff}
/* Keep weekly cards close together, compact, and readable. */
#managerBody .weekly-option-d-grid{grid-template-columns:repeat(auto-fill,minmax(230px,260px));gap:12px;justify-content:start;align-items:start}
#managerBody .weekly-option-d{width:100%;max-width:260px;font-size:13px}
#managerBody .weekly-option-d .team-week-heading{min-height:0;padding:10px 9px;gap:7px}
#managerBody .weekly-option-d .team-week-heading h3{font-size:15px}
#managerBody .weekly-option-d .weekly-aligned-row{min-height:0!important;padding:9px 12px;gap:3px}
#managerBody .weekly-option-d .weekly-aligned-row small{font-size:12px}
#managerBody .weekly-option-d .weekly-aligned-row strong{font-size:21px}
#managerBody .weekly-option-d .weekly-change{font-size:11px;padding:2px 7px}
#managerBody .panel:has(.weekly-option-d) .actions button{font-size:14px;padding:9px 13px}
#managerBody .panel:has(.weekly-option-d)>h2{font-size:22px;margin-bottom:10px}
/* Bright red warning for prebooking below 80%, team colors at or above target. */
.rebooking-panel.rebooking-low{background:#ffe1e1!important;border:2px solid #ec4444!important;color:#a41c25}
.rebooking-panel.rebooking-low .progress{background:#ffc4c4}
.rebooking-panel.rebooking-low .progress span{background:#e5313b!important}
.rebooking-panel.rebooking-good{background:#e5f5ec;border-color:#75bf92}
.kpi-person-andrea .rebooking-good{background:#e9f4ff;border-color:#6b9cda}
.kpi-person-andrea .rebooking-good .progress span{background:#6b9cda!important}
.kpi-person-alondra .rebooking-good{background:#eee8ff;border-color:#9b89ca}
.kpi-person-alondra .rebooking-good .progress span{background:#9b89ca!important}
.kpi-person-lake .rebooking-good{background:#ffe4f0;border-color:#e9a6c5}
.kpi-person-lake .rebooking-good .progress span{background:#d989b0!important}
/* Tighten manager and team shift cards without changing fields or actions. */
.shift-card{padding:12px!important;margin:9px 0!important}
.shift-card .shift-card-top{gap:7px}
.shift-card .shift-card-top strong{font-size:15px}
.shift-card .shift-card-top small{font-size:11px;margin-top:2px}
.shift-card .shift-prebook-tag{min-width:112px;font-size:14px;padding:7px 11px;border-radius:10px}
.shift-card .shift-prebook-tag small{font-size:12px}
.shift-card .shift-stat-grid{gap:7px;margin:10px 0}
.shift-card .shift-stat-grid span{padding:8px;font-size:11px}
.shift-card .shift-stat-grid strong{font-size:18px;margin-top:3px}
.shift-card .shift-note{padding:8px;margin:8px 0}
.shift-card textarea{min-height:54px}
.shift-card .team-week-comments{margin-top:8px;padding-top:7px}
.shift-card button{padding:8px 12px}
@media(max-width:570px){#managerBody .weekly-option-d-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr))}#managerBody .weekly-option-d{max-width:none}}

/* Live team navigation: one section visible at a time. */
.team-portal-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.team-portal-nav button{padding:14px 9px;border-radius:12px;border:1px solid #e9b6a7;background:#fffaf7;font-size:15px;font-weight:650;color:#48362f;cursor:pointer}
.team-portal-nav button.active{background:#e9ad9c;border-color:#e9ad9c}
#liveTeam [data-team-section][hidden],#teamUpdatesPlaceholder[hidden],#liveOperations[hidden],#liveTimeOff[hidden],#teamPortal[hidden]{display:none!important}
#liveTeam .weekly-review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,260px));gap:12px;justify-content:start}
#liveTeam .weekly-option-d{max-width:260px}
@media(max-width:650px){.team-portal-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Team dashboard starts with six selection cards; no sections are open on sign-in. */
.team-portal-home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.team-portal-home button{min-height:130px;font-size:20px;text-align:left;padding:23px;background:#fffaf7;border:2px solid #e8b7a8;border-radius:16px;box-shadow:0 2px 4px #57351b0b}
.team-portal-home button:hover,.team-portal-home button:focus-visible{background:#f9e7df;border-color:#d99583}
.team-portal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}
#teamPortalBack{font-size:14px;padding:9px 13px}
#teamPortalNav[hidden]{display:none!important}
#teamPortal:has(.team-portal-home)~#liveTeam,#teamPortal:has(.team-portal-home)~#liveOperations,#teamPortal:has(.team-portal-home)~#liveTimeOff{display:none!important}
#liveTeam .team-month-summary{margin:16px 0}
#liveTeam .team-gross-card{background:#fff5f0;border-radius:15px;padding:19px;margin-bottom:13px}
#liveTeam .team-gross-card strong{display:block;font-size:30px;margin:8px 0}
#liveTeam .team-goal-bar{height:10px;background:#f5d6cd;border-radius:20px;overflow:hidden}
#liveTeam .team-goal-bar span{display:block;height:100%;background:#e6a48e;border-radius:20px}
#liveTeam .team-month-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#liveTeam .team-month-metrics>div{padding:15px;border:1px solid #ead1c7;border-radius:13px}
#liveTeam .team-month-metrics small{display:block;color:#685d57}
#liveTeam .team-month-metrics strong{display:block;font-size:23px;margin-top:7px}
#liveTeam .team-rebooking-low{background:#ffe1e1;border:2px solid #ef4343!important;color:#a51e26}
#liveTeam .team-review-done{background:#eee;color:#555;border:1px solid #ccc;cursor:default;opacity:1}
#liveTeam [hidden],#teamPerformanceMonthly[hidden],#teamPerformanceWeekly[hidden]{display:none!important}
.io-order-card{padding:0!important;overflow:hidden}
.io-order-summary{display:flex;width:100%;gap:12px;align-items:center;text-align:left;padding:18px;border:0;background:#fff9f5;cursor:pointer}
.io-order-summary strong{font-size:17px}.io-order-summary small{color:#71645d}.io-order-summary span{margin-left:auto;font-size:13px}
.io-order-details{padding:15px 18px;border-top:1px solid #ead1c7}
.io-order-details[hidden]{display:none!important}
@media(max-width:650px){.team-portal-home{grid-template-columns:1fr}.team-portal-home button{min-height:90px}}

/* Compact, playful team home cards */
.team-portal-home{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.team-portal-home button{min-height:82px;padding:14px 17px;font-size:16px;border-radius:14px;box-shadow:none}
.team-portal-home button:nth-child(6n+1){background:#eaf4ff;border-color:#a9c9ee}
.team-portal-home button:nth-child(6n+2){background:#fff0eb;border-color:#e9b09f}
.team-portal-home button:nth-child(6n+3){background:#eee8ff;border-color:#c7b5e7}
.team-portal-home button:nth-child(6n+4){background:#fff2df;border-color:#eacda2}
.team-portal-home button:nth-child(6n+5){background:#e9f5e8;border-color:#bbd9b2}
.team-portal-home button:nth-child(6n+6){background:#ffeaf0;border-color:#efbecd}
.team-portal-home button:hover{filter:brightness(.97);transform:translateY(-1px)}
#teamPortal>.panel{padding:17px 20px}
#teamPortalTitle{font-size:23px;margin:0 0 12px}
.team-month-picker{position:relative;max-width:270px;margin:12px 0}
.team-month-picker>span{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
#teamMonthButton{width:100%;text-align:left;padding:9px 13px;border:1px solid #e8b09f;border-radius:11px;background:#fff5f0;font-weight:700}
#teamMonthChoices{position:absolute;top:100%;left:0;right:0;z-index:10;background:white;border:1px solid #e8b09f;border-radius:11px;box-shadow:0 6px 15px #35221920;max-height:220px;overflow:auto}
#teamMonthChoices[hidden]{display:none}
#teamMonthChoices button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #f2e0d9;padding:10px;background:white}
#teamMonthChoices button:hover{background:#fff0e9}
.team-goal-reminder{margin:10px 0 15px;padding:13px 16px;border:1px solid #e8b09f;border-radius:13px;background:#fffaf6}
.team-goal-reminder h3{font-size:14px;margin:0 0 9px}
.team-goal-reminder>div{display:flex;gap:9px;flex-wrap:wrap}
.team-goal-reminder span{flex:1;min-width:100px;padding:8px 10px;background:white;border:1px solid #f1ded4;border-radius:9px;font-size:12px}
.team-goal-reminder strong{display:block;font-size:17px;margin-top:3px}
.team-week-mtd{padding:10px 12px;background:#fff8f3;border-top:1px solid #eed6cc;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.team-week-mtd small{font-size:12px}.team-week-mtd strong{font-size:19px}.team-week-mtd span{font-size:11px;background:#e9f2e7;padding:3px 6px;border-radius:10px}
#liveTeam .team-month-summary{margin:10px 0}
#liveTeam .team-gross-card{padding:13px 15px;margin-bottom:8px}
#liveTeam .team-gross-card strong{font-size:25px;margin:5px 0}
#liveTeam .team-month-metrics{gap:8px}
#liveTeam .team-month-metrics>div{padding:10px 12px}
#liveTeam .team-month-metrics strong{font-size:19px;margin-top:4px}
#liveTeam [data-team-section=numbers]{padding:18px}
#liveTeam [data-team-section=numbers] h2{font-size:22px}
@media(max-width:650px){.team-portal-home{grid-template-columns:repeat(2,minmax(0,1fr))}.team-portal-home button{min-height:74px;font-size:14px;padding:12px}}

/* Uniform dashboard cards, one emoji each; green is reserved for unread weekly updates. */
#teamPortalNav.team-portal-home button,#teamPortalNav.team-portal-home button:nth-child(n){background:#fff4ef;border-color:#e7b4a5;color:#49352d;display:flex;align-items:center;gap:11px;min-height:80px;padding:14px 17px;font-size:16px;}
#teamPortalNav.team-portal-home button:hover{background:#fce8e0;}
#teamPortalNav.team-portal-home button.team-card-unread,#teamPortalNav.team-portal-home button.team-card-unread:nth-child(n){background:#d8f3df;border-color:#6bad7d;color:#245b39;}
#teamPortalNav .team-card-emoji{font-size:21px;line-height:1;flex:none;}
@media(max-width:650px){#teamPortalNav.team-portal-home button,#teamPortalNav.team-portal-home button:nth-child(n){min-height:70px;padding:12px;font-size:14px;}}

/* Team Portal: approved mockup, two columns and three rows. All other views unchanged. */
#teamPortalNav.team-portal-home{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px}
#teamPortalNav.team-portal-home button,#teamPortalNav.team-portal-home button:nth-child(n){position:relative;min-height:91px;padding:18px 47px 18px 20px;border-radius:15px;text-align:left;box-shadow:0 2px 3px #57351b09}
#teamPortalNav.team-portal-home button::after{content:'›';position:absolute;right:19px;top:50%;transform:translateY(-53%);font-size:31px;font-weight:300;color:#806258}
#teamPortalNav.team-portal-home button .team-card-emoji{font-size:25px}
@media(max-width:650px){#teamPortalNav.team-portal-home{gap:9px}#teamPortalNav.team-portal-home button,#teamPortalNav.team-portal-home button:nth-child(n){min-height:79px;padding:13px 24px 13px 12px;font-size:13px;gap:7px}#teamPortalNav.team-portal-home button .team-card-emoji{font-size:19px}#teamPortalNav.team-portal-home button::after{right:8px;font-size:24px}}

/* New inventory counts: manager-only unread indicator. */
#managerNav button.manager-inventory-new{background:#39845c!important;color:white!important;border-color:#39845c!important;font-weight:800}

/* Supply orders as compact cards, without changing delivery forms. */
.io-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 22px;align-items:start}
.io-order-grid .io-order-card{margin:0!important;min-width:0;border:1px solid #ebc8bb;border-radius:15px;background:#fff9f5}
.io-order-grid .io-order-summary{min-height:142px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:9px;padding:19px 20px}
.io-order-grid .io-order-summary strong{font-size:19px}
.io-order-grid .io-order-summary small{font-size:13px}
.io-order-grid .io-order-summary span{margin-left:0;align-self:flex-end;color:#795144;font-weight:700}
@media(max-width:650px){.io-order-grid{grid-template-columns:1fr}.io-order-grid .io-order-summary{min-height:112px}}

/* Time-off notifications: manager sees new requests; employee sees their own decisions. */
#managerNav button.manager-timeoff-new{background:#39845c!important;color:white!important;border-color:#39845c!important;font-weight:800}
