/* A prominent purple request card with clearly separated personal history. */
#homeView>.home-request-card,.agent-home-mode #homeView>.card.home-request-card{padding:0;background:#faf7ff;border:2px solid #b49bd2;box-shadow:0 7px 24px #6941911a}
#homeView>.home-request-card>.card-head,.agent-home-mode #homeView>.card.home-request-card>.card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:22px 24px;background:linear-gradient(110deg,#65408f,#8753a4);border-bottom:1px solid #65408f}
#homeView>.home-request-card>.card-head h2{margin:0;color:#fff;font-size:28px}
#homeView>.home-request-card>.card-head p,.agent-home-mode #homeView>.card.home-request-card>.card-head p{margin:7px 0 0;color:#f5effb}
.request-header-tag{padding:6px 10px;border-radius:7px;background:#ffffff24;color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.request-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;padding:24px}
.request-layout h3,.request-section-heading h3{margin:0 0 16px;color:#5f407e;font-size:19px}
.request-field{display:grid;gap:7px;color:#36566b;font-size:14px;font-weight:700}
.request-field select,.request-field input,.request-field textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #c8d8e2;border-radius:8px;padding:10px 12px;background:white;color:#233f52;font:inherit;font-weight:500;line-height:1.5}
.request-field input,.request-field select{min-height:44px}.request-field textarea{resize:vertical;min-height:80px}
.request-field :focus-visible,.home-request-card button:focus-visible,.request-review summary:focus-visible{outline:3px solid #966bbc;outline-offset:2px}
.request-optional{font-size:12px;font-weight:500;color:#667d88}.request-policy{margin:8px 0 20px;padding:11px 13px;background:#fff6dc;border:1px solid #e9dba9;border-radius:8px;color:#715b26;font-size:13px;line-height:1.55}
.request-dates{min-width:0;margin:0 0 20px;padding:0;border:0}.request-dates legend{font-size:14px;font-weight:800;color:#36566b}.request-field-help{margin:7px 0 12px;font-size:13px;line-height:1.5;color:#627986}
.request-date-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:12px}.request-date-row>.btn{min-height:44px;padding:8px 10px}
.request-dates-preview:not(:empty){margin-top:12px;padding:12px;border-radius:8px;background:#eee6f6;color:#5d4275;font-size:13px;line-height:1.6}.request-dates-preview p{margin:5px 0 0}
.request-form-actions,.request-item-actions{display:flex;flex-wrap:wrap;gap:8px}.request-form-message{margin:12px 0;color:#2d6b58;font-size:14px;line-height:1.5}.request-form-message:empty{display:none}.request-error{color:#a13c36!important}.request-demo-note{color:#6a7e8a;font-size:12px;margin:12px 0 0}
.request-history{min-width:0;padding-left:24px;border-left:1px solid #dfe8eb}.request-section-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.request-count{display:inline-block;border-radius:20px;padding:4px 9px;background:#eae1f4;color:#674786;font-size:12px;font-weight:700;white-space:nowrap}.request-empty{margin:0;padding:20px;background:#f1ebf8;border:1px dashed #cbb8df;border-radius:10px;color:#637d8b;font-size:14px;line-height:1.6}
.time-off-request{padding:16px;border:1px solid #d4e2e4;border-radius:12px;background:#fff;margin-bottom:12px;overflow-wrap:anywhere}.time-off-request:last-child{margin-bottom:0}.request-item-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.request-item-head h4{margin:0;color:#2f5660;font-size:15px;line-height:1.5}.request-status{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:800;white-space:nowrap;background:#e7ecf0;color:#526776}.request-pending{background:#fff0c5;color:#7b5c18}.request-approved{background:#dceee2;color:#2e6a47}.request-declined{background:#f7e2df;color:#943f39}.request-category{display:block;font-size:13px;color:#536e7f;margin-top:6px}.request-date-description{font-size:13px;color:#4e6a77;line-height:1.6;margin:9px 0}.request-saved-note,.request-review-note{font-size:14px;color:#3e5766;white-space:pre-wrap;line-height:1.6;margin:10px 0;padding:10px 12px;background:#fff;border-radius:8px}.time-off-request>small{display:block;color:#758590;font-size:11px;line-height:1.6}.time-off-request>.request-item-actions{margin-top:12px}.request-item-actions .btn{font-size:12px;padding:7px 12px}
.request-review{border-top:1px solid #d4e2e4;background:#f2f7fa}.request-review>summary{cursor:pointer;padding:18px 24px;font-size:17px;font-weight:800;color:#315771}.request-review>summary .request-count{margin-left:10px}.request-review-body{padding:0 24px 24px}.request-review-body>p{font-size:14px;color:#5d7685;margin:0 0 16px;line-height:1.6}.request-review-filter{max-width:260px;margin-bottom:16px}.request-decision-form{display:grid;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #d9e4e7}.request-decision-form textarea{min-height:66px}
@media(max-width:1050px){.request-layout{grid-template-columns:1fr}.request-history{border-left:0;border-top:1px solid #dfe8eb;padding:24px 0 0}.request-date-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}
@media(max-width:600px){#homeView>.home-request-card>.card-head,.agent-home-mode #homeView>.card.home-request-card>.card-head{padding:18px 16px}.request-header-tag{display:none}.request-layout{padding:16px;gap:20px}.request-date-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.request-date-row>.btn{grid-column:1/-1;justify-self:start;min-height:36px}.request-review>summary{padding:16px}.request-review-body{padding:0 16px 16px}.request-item-head{flex-wrap:wrap}.request-review>summary .request-count{margin-left:5px}}

#homeView .home-request-card #submitRequestOff{background:#704799;border-color:#704799;color:#fff;box-shadow:0 3px 10px #70479926}
#homeView .home-request-card #submitRequestOff:hover{background:#5f3985;border-color:#5f3985}

/* Dedicated management section and its reporting downloads. */
.request-admin-card{padding:0;border:1px solid #d4c6e5;overflow:hidden}
.request-admin-card>.card-head{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:0;padding:24px;background:linear-gradient(110deg,#ede3f7,#f7f3fb);border-bottom:1px solid #d4c6e5}
.request-admin-card>.card-head h2{margin:0;color:#593778;font-size:25px}.request-admin-card>.card-head p{margin:7px 0 0;color:#6a5879;line-height:1.5}
.request-admin-body{padding:24px}.request-admin-help{margin:0 0 20px;padding:12px 15px;border-radius:9px;background:#f0ebf7;color:#5e4874;font-size:14px;line-height:1.6}
.request-review-controls{display:grid;grid-template-columns:1fr 1.25fr 1fr 1fr;gap:14px;margin-bottom:20px}.request-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.request-admin-list>.time-off-request{margin:0;background:#fbf9fe;border-color:#ddd2e8}.request-admin-list>.request-empty{grid-column:1/-1}.request-admin-list .request-item-head h4{font-size:18px;color:#4f3870}
.request-audit{margin-top:14px;border-top:1px solid #e2d9ea;padding-top:12px}.request-audit summary{font-weight:700;font-size:13px;color:#664b80;cursor:pointer}.request-audit>div{padding:12px 0;border-bottom:1px solid #e8e1ee;font-size:12px;line-height:1.5}.request-audit>div:last-child{border:0}.request-audit b,.request-audit small{display:block}.request-audit small{color:#71818b}.request-audit p{margin:5px 0;color:#536677;white-space:pre-wrap}
.request-record-note{font-size:13px;color:#637685;line-height:1.6;margin:16px 0}.request-report-card{padding:24px;border-top:4px solid #8a69a8}.request-report-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.request-report-heading h3,.request-backup-card h3{margin:0;color:#563d71;font-size:20px}.request-report-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px;max-width:850px}.request-report-actions{display:flex;gap:12px;flex-wrap:wrap}.request-report-actions .btn,.request-backup-card .btn{white-space:normal;line-height:1.5;min-height:44px}.request-backup-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:#f4f7fb;border-top:4px solid #7591ad}.request-backup-card>div{max-width:750px}.request-backup-card p{color:#5f7284;line-height:1.6;font-size:14px}.request-backup-card .request-record-note{font-size:12px;margin-bottom:0}.request-backup-card>.btn{flex-shrink:0}
@media(max-width:1100px){.request-review-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.request-admin-list{grid-template-columns:1fr}.request-backup-card{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.request-admin-card>.card-head{padding:18px 16px;flex-wrap:wrap}.request-admin-body,.request-report-card,.request-backup-card{padding:16px}.request-review-controls,.request-report-controls{grid-template-columns:1fr}.request-report-actions .btn{width:100%}}

/* Approval is visible on the employee's Home and within each requested calendar day. */
#homeView>.card.home-approved-time-off,.agent-home-mode #homeView>.card.home-approved-time-off{padding:20px 24px;background:#eaf4e9;border:1px solid #b8d6b4;border-left:5px solid #659960;box-shadow:0 4px 16px #31562b0a}
#homeView>.home-approved-time-off h2{margin:0 0 12px;color:#345d30;font-size:21px}
.home-approved-time-off-item{padding:10px 0;border-top:1px solid #cce0c8;line-height:1.6}.home-approved-time-off-item strong{color:#396633;font-size:15px}.home-approved-time-off-item p{margin:4px 0;color:#4c6947;font-size:14px}.home-approved-time-off-item small{display:block;color:#50694a;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.home-approved-request-badge{padding:8px 9px;border:1px solid #adcda8;border-radius:8px;background:#dfefdb;color:#335b2d;font-size:12px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:650px){#homeView>.card.home-approved-time-off,.agent-home-mode #homeView>.card.home-approved-time-off{padding:16px}}

/* Same-day OPS queue stays read only, separate from actual attendance. */
.ops-vol-requests{border:1px solid #d7c7ee;border-top:5px solid #8871ac;margin-bottom:18px;overflow:hidden}.ops-vol-requests .card-head{background:#f3eef9;align-items:center}.ops-vol-requests .card-head h2{font-size:21px;color:#513773}.ops-vol-requests .request-header-tag{background:#e8def3;color:#583778;white-space:nowrap}.ops-vol-request-list{display:grid;gap:12px;padding:16px 20px}.ops-vol-request{background:#fcfaff;border:1px solid #e5dcee;border-radius:10px;padding:14px}.ops-vol-request h3{font-size:16px;margin:0}.ops-vol-request small{display:block;color:#657184;font-size:12px;margin-top:6px}.ops-vol-request p{white-space:pre-wrap;overflow-wrap:anywhere}.ops-vol-request-help{font-size:12px;color:#5f687b;line-height:1.5;margin:0;padding:0 20px 18px}.ops-vol-requests[hidden]{display:none!important}

.request-approval-dialog{width:min(480px,calc(100vw - 32px));box-sizing:border-box;border:1px solid #b9d8cb;border-radius:18px;padding:24px;background:#fafffc;color:#244b40;box-shadow:0 24px 70px #143d6540}.request-approval-dialog::backdrop{background:#16344b70}.request-approval-dialog h2{margin:0 0 16px;font-size:24px}.request-approval-message p{line-height:1.5;white-space:pre-wrap}.request-approval-dialog>p{font-size:13px;color:#627c73}.request-approval-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.home-request-note{margin-top:9px;padding:8px;border:1px solid #c5d8e8;border-radius:7px;background:#f0f6fc;color:#355873;font-size:12px}.home-request-note p{margin:4px 0 0;font-size:12px}.team-request-note{padding:7px;border-radius:6px;background:#edf5fb;border-left:3px solid #6b9ebe;color:#30536c;font-size:11px}

.linked-request-list{min-width:300px}.linked-request-cell{display:flex;flex-direction:column;gap:6px;padding:12px;border-bottom:1px solid #cbd5e1}.linked-request-cell:last-child{border-bottom:0}.linked-request-cell p{white-space:pre-wrap;margin:0}.linked-request-cell .request-status{align-self:flex-start}

/* Request Off management shares the established blue/teal title bands.
   Empty-cell shading is presentation only; all existing controls stay editable. */
#timeOffRequestsView>.card{border:1px solid #bdcfdf;border-radius:16px;box-shadow:0 6px 20px #173f6410}
#timeOffRequestsView>.spreadsheet-card{padding:20px}
#timeOffRequestsView>.card>.card-head{background:linear-gradient(115deg,#17487f,#216ba5 65%,#187d8a);color:#fff;padding:26px 24px;border-bottom:0;border-radius:15px 15px 0 0;gap:20px;align-items:center;flex-wrap:wrap}
#timeOffRequestsView>.spreadsheet-card>.card-head{margin:-20px -20px 20px}
#timeOffRequestsView>.request-admin-card>.card-head{margin:0}
#timeOffRequestsView>.card>.card-head h2{font-family:Manrope,sans-serif;font-size:clamp(24px,2.3vw,30px);font-weight:900;line-height:1.25;color:#fff;margin:0 0 8px;letter-spacing:normal}
#timeOffRequestsView>.card>.card-head p{color:#fff;line-height:1.5;margin:0}
#timeOffRequestsView>.card>.card-head label{display:grid;gap:7px;color:#fff;font-weight:800}
#timeOffRequestsView>.card>.card-head select{background:#fff;color:#173f64;min-height:44px}
#timeOffRequestsView .sheet-notice{font-size:13px;line-height:1.65;color:#415b70;margin:16px 0}
#timeOffRequestsView .spreadsheet-scroll{border:1px solid #aebfd0;border-radius:10px}
#timeOffRequestsView .admin-spreadsheet th,#timeOffRequestsView .admin-spreadsheet td{border:1px solid #b8cada;padding:14px;line-height:1.5}
#timeOffRequestsView .admin-spreadsheet thead th{background:#e6eff7;color:#234d70;font-size:13px;font-weight:900;border-bottom:2px solid #7899b6}
#timeOffRequestsView .admin-spreadsheet tbody th{background:#edf3f8;color:#244d6b;font-size:13px;font-weight:800}
#timeOffRequestsView .admin-spreadsheet tbody tr+tr>*{border-top-width:2px}
#timeOffRequestsView .admin-spreadsheet input,#timeOffRequestsView .admin-spreadsheet textarea,#timeOffRequestsView .admin-spreadsheet select{border:1px solid #9db5ca;border-radius:6px;color:#203e55;background:#fff;min-height:40px;font-size:13px}
#timeOffRequestsView .admin-spreadsheet textarea{min-height:76px}
#timeOffRequestsView .imported-request-cell>select{margin-top:7px;font-weight:700}
#timeOffRequestsView .imported-request-cell small{color:#465b6d;font-size:12px}
#timeOffRequestsView .admin-spreadsheet td.request-cell-empty{background:#edf0f3}
#timeOffRequestsView .request-cell-empty input,#timeOffRequestsView .request-cell-empty textarea,#timeOffRequestsView .request-cell-empty select{background:#f4f6f8;color:#4a5e70;border-color:#b3c0cc}
#timeOffRequestsView .admin-spreadsheet :focus-visible{outline:3px solid #2875ab;outline-offset:2px;background:#fff}
#timeOffRequestsView .request-category,#timeOffRequestsView .request-field,#timeOffRequestsView .linked-request-cell>strong{font-weight:800}
#timeOffRequestsView .request-admin-help{background:#edf4fa;color:#35546d;border-left:4px solid #3b819d}
#timeOffRequestsView .request-empty{background:#edf0f3;color:#465b6d;border-color:#b3c0cc}
#timeOffRequestsView .request-count{background:#e9f2f9;color:#204f75;font-weight:800}
#timeOffRequestsView .linked-request-cell{background:#fff;border:1px solid #b8cada;border-radius:8px;margin-bottom:10px}
#timeOffRequestsView .linked-request-cell:last-child{margin-bottom:0;border-bottom:1px solid #b8cada}
@media(max-width:650px){#timeOffRequestsView>.spreadsheet-card{padding:16px}#timeOffRequestsView>.spreadsheet-card>.card-head{margin:-16px -16px 16px}#timeOffRequestsView>.card>.card-head{padding:22px 20px}#timeOffRequestsView>.card>.card-head label{width:100%}}
#timeOffRequestsView .request-capacity-label{display:grid;gap:8px;color:#244d6b;font-weight:800;font-size:13px}
#timeOffRequestsView .request-capacity-label select{min-width:220px;font-weight:700}
#timeOffRequestsView .request-capacity-reason:empty{display:none}
#timeOffRequestsView .linked-request-list.request-date-closed{background:#fbe7e7;border-left:4px solid #b33434}
#timeOffRequestsView .request-date-closed .request-capacity-label,#timeOffRequestsView .request-date-closed .request-capacity-reason{color:#8b2222;font-weight:800}
#timeOffRequestsView .request-date-closed .request-capacity-label select{background:#b33434;color:#fff;border-color:#8b2222;opacity:1}
#timeOffRequestsView .request-date-closed .request-capacity-label option{background:#fff;color:#203e55}
#timeOffRequestsView .request-capacity-label+.request-capacity-reason{margin-bottom:10px}

/* Roster-backed selectors retain the original free-text detail underneath. */
#timeOffRequestsView .request-agent-select{width:100%;min-width:180px;font-weight:700;margin-bottom:8px}
#timeOffRequestsView .request-detail-label{display:grid;gap:4px;font-weight:400}
#timeOffRequestsView .request-detail-label small{font-size:11px;color:#526c80}
