:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#173e54;background:#f3f8fb;font-synthesis:none;--blue:#2eb0e2;--navy:#173e54;--line:#dce8ef}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #bfd6e3;border-radius:10px;padding:12px 18px;background:#fff;color:#175573;font-weight:700;line-height:1.3;text-decoration:none}button:hover,.button:hover{background:#edf8fd}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #0876a6;outline-offset:3px}input,select{width:100%;min-width:0;padding:12px 13px;border:1px solid #c7dce8;border-radius:9px;background:white;color:var(--navy)}input[type=checkbox]{width:18px;height:18px;accent-color:#1684b0;flex-shrink:0}label{font-size:13px;font-weight:700;display:block}label input,label select{margin-top:7px;font-weight:400}a{color:inherit}.shell{width:min(1250px,calc(100% - 48px));margin:auto}.hero{background:var(--blue);color:#fff;padding:22px 0 44px}.hero nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:48px}.hero nav>a{text-decoration:none;font-size:14px;font-weight:600}.brand{display:flex;align-items:center;gap:14px;letter-spacing:.08em}.brand img{width:65px;height:65px;border-radius:12px}.brand small{display:block;font-size:13px;font-weight:400;letter-spacing:0;margin-top:5px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;margin:0 0 12px}.dark{color:#18769f}h1{font-size:clamp(31px,4.5vw,49px);letter-spacing:-.035em;line-height:1.12;margin:0 0 16px}h2{font-size:23px;letter-spacing:-.02em;margin:0 0 8px}h3{font-size:18px;margin:0}.intro{font-size:17px;max-width:720px;line-height:1.6;margin:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;padding:23px 0}.storage-dot{display:inline-block;background:#18805c;width:7px;height:7px;border-radius:50%;margin-right:6px}.muted{color:#657e8c}.small{font-size:12px;line-height:1.6}.actions{display:flex;align-items:center;gap:9px}.quiet{font-size:12px;padding:10px 13px}.primary{background:#137ca6;border-color:#137ca6;color:white;white-space:nowrap}.primary:hover{background:#106789}.tabs{display:flex;gap:7px;margin:0 0 22px;border-bottom:1px solid var(--line);padding-bottom:12px}.tabs button{background:transparent;border-color:transparent;font-size:14px}.tabs button[aria-selected=true]{background:#e0f3fc;border-color:#bfE3f4;color:#08719a}.pill{display:inline-block;background:#eaf4f9;border-radius:20px;color:#286480;padding:5px 10px;font-size:12px;white-space:nowrap}.notice{padding:17px 20px;border:1px solid #c9e5f2;background:#e8f5fc;border-radius:12px;font-size:13px;line-height:1.65;margin-bottom:22px}.notice strong{font-weight:750}.text-button{padding:0 5px;background:none;border:0;font-size:13px;text-decoration:underline}.card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:28px;margin-bottom:24px;box-shadow:0 3px 12px #17425a03}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.section-heading p{color:#657e8c;font-size:14px;line-height:1.55;margin:0}.section-heading .eyebrow{margin-bottom:10px;color:#1579a5;font-size:11px}.step{color:#87a2b0;font-size:10px;font-weight:800;letter-spacing:.13em;white-space:nowrap}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.upload{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px dashed #b7dceb;border-radius:14px;min-height:234px;padding:25px;background:#f6fbfe;text-align:center;overflow:hidden}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.upload:focus-within{outline:3px solid #0876a6}.upload strong{font-size:16px;overflow-wrap:anywhere}.upload>span:last-child{font-size:12px;color:#6d8593;font-weight:400}.upload-icon{display:grid;place-items:center;background:#e2f3fb;color:#1282b0;border-radius:13px;font-size:30px;font-weight:400;width:54px;height:54px}.fields{display:grid;gap:16px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check-line{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:500;line-height:1.5;margin-top:21px}.check-line input{margin:0}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}.form-footer p{font-size:12px;color:#6b8492;line-height:1.6;max-width:470px;margin:0}.day-off{border-top:1px solid var(--line);margin-top:22px;padding-top:18px;font-size:13px}.day-off summary{cursor:pointer;font-weight:600}.day-off p{font-size:12px;color:#6b8492}.off-list{max-height:220px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;margin-top:12px}.off-list label{font-weight:400;display:flex;gap:9px;align-items:center;padding:7px}.off-list input{margin:0}.saved-heading{margin-top:37px}.saved-heading input{font-size:13px}.campaign-card{background:#fff;border:1px solid var(--line);border-radius:15px;margin-bottom:18px;overflow:hidden}.campaign-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:22px;background:#fafeff;border-bottom:1px solid var(--line)}.campaign-top p{font-size:12px;color:#6b8492;margin:6px 0 0}.metrics{display:flex;gap:26px;flex-wrap:wrap}.metric{font-size:11px;color:#6b8492}.metric strong{display:block;font-size:24px;font-weight:750;color:#244f65;margin-bottom:2px}.metric.missing strong{color:#a86712}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{color:#526f81;background:#eef7fb;font-weight:700;font-size:11px;letter-spacing:.03em;padding:13px 20px;white-space:nowrap}td{padding:14px 20px;border-top:1px solid #e8f0f5;vertical-align:middle}tbody tr:nth-child(even){background:#f8fcfe}tbody tr:hover{background:#f0f8fc}.badge{display:inline-block;border-radius:20px;padding:5px 9px;font-size:11px;background:#fff4d9;color:#966018}.badge.blue{background:#e6f4fc;color:#1b6d93}.badge.green{background:#e7f6ed;color:#28744d}.empty{border:1px dashed #c8dce7;border-radius:13px;padding:30px 24px;text-align:center;background:#fafeff;color:#6b8492;font-size:14px;line-height:1.6}.empty strong{display:block;color:#28536a;font-size:17px;margin-bottom:8px}.campaign-card .empty{border:0;border-radius:0}.extra{padding:14px 22px;border-top:1px solid var(--line);font-size:12px;color:#6b8492}.extra summary{cursor:pointer}.extra ul{padding-left:18px;line-height:1.8}.roster-filters{display:flex;gap:12px;margin:22px 0 14px;align-items:center}.roster-filters input{flex:2}.roster-filters select{flex:1}.roster-filters button{white-space:nowrap}.roster-scroll{max-height:490px;border:1px solid var(--line);border-radius:11px}.roster-scroll th{position:sticky;top:0;z-index:1}.roster-scroll td{padding:8px 16px}.roster-scroll td:first-child{width:90px;text-align:center}.roster-scroll input:not([type=checkbox]),.roster-scroll select{font-size:13px;padding:8px 10px;margin:0;min-width:150px}.add-agent{display:grid;grid-template-columns:1fr 1.3fr 1fr auto;gap:14px;align-items:end;margin-top:23px;padding-top:23px;border-top:1px solid var(--line)}.add-agent button{height:44px}.subtle{background:#f3f9fc;border:0;margin-top:18px}.shift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.shift{border:1px solid var(--line);border-radius:12px;padding:20px}.shift h3{margin-bottom:17px}.shift label+label{margin-top:14px}.filters{display:flex;gap:16px;margin-bottom:24px}.filters label{flex:1}.error{color:#9b2c35;background:#fff0f1;border-color:#f2cdd1}.success{background:#ebf8f0;border-color:#c6e9d4;color:#246147}.danger{color:#a33c44;border-color:#e9d0d3;font-size:11px;padding:7px 10px}#message:not(:empty){padding:14px 18px;border:1px solid;border-radius:11px;font-size:13px;margin-bottom:20px;line-height:1.5}footer{text-align:center;color:#7b939f;padding:24px 0 36px;font-size:11px}[hidden]{display:none!important}@media(max-width:900px){.toolbar{align-items:flex-start;flex-direction:column}.roster-filters{flex-wrap:wrap}.roster-filters input,.roster-filters select{flex-basis:40%}.shift-grid{grid-template-columns:1fr}.add-agent{grid-template-columns:1fr 1fr}.campaign-top{align-items:flex-start;flex-direction:column}.metrics{gap:24px}.section-heading{align-items:flex-start}.step{display:none}}@media(max-width:620px){.shell{width:calc(100% - 28px)}.hero{padding-bottom:32px}.hero nav{margin-bottom:34px}.brand img{width:48px;height:48px}.brand{font-size:10px!important}.brand small{font-size:11px}.hero nav>a:last-child{font-size:12px}.card{padding:20px}.upload-grid{grid-template-columns:1fr}.upload{min-height:180px}.tabs{gap:0}.tabs button{font-size:12px;padding:11px}.tabs .pill{display:none}.section-heading,.form-footer{flex-direction:column;align-items:stretch;gap:18px}.section-heading .actions{flex-wrap:wrap}.off-list{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters label{flex-basis:40%}.toolbar .actions{width:100%}.toolbar .actions>*{flex:1}.add-agent{grid-template-columns:1fr}.metrics{gap:18px}td,th{padding:12px 14px}.campaign-top{padding:18px}.intro{font-size:15px}}
/* Simple daily workflow */
.hero{padding:20px 0 29px}.hero nav{margin-bottom:25px}.brand img{width:52px;height:52px}h1{font-size:36px;margin-bottom:9px}.intro{font-size:16px}.tabs{margin-top:26px}.upload-card{padding:26px}.quick-controls{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(290px,1.2fr);gap:26px;align-items:center}.campaign-field{font-size:14px}.campaign-field select{margin-top:12px;height:49px}.step-number{display:inline-grid;place-items:center;border-radius:50%;width:25px;height:25px;font-size:12px;background:#e4f3fb;color:#1178a1;margin-right:6px;font-weight:750}.compact-upload{min-height:103px;flex-direction:row;justify-content:flex-start;text-align:left;padding:19px 23px;gap:12px;border-width:1px;border-style:solid;background:#ecf8fd}.compact-upload strong{display:block;font-size:18px;color:#117ba5}.compact-upload small{display:block;color:#64808f;font-size:12px;font-weight:400;line-height:1.5;margin-top:5px;overflow-wrap:anywhere}.compact-upload .upload-arrow{margin-left:auto;font-size:28px;color:#137ca6}.simple-hint{display:flex;justify-content:space-between;gap:12px;margin-top:18px;color:#78909e;font-size:12px}.simple-hint p{margin:0}.simple-hint span{color:#377b61}.report-options{border-top:1px solid var(--line);margin-top:18px;padding-top:16px;font-size:12px}.report-options summary,.settings-detail>summary{cursor:pointer;font-weight:700}.options-inner{padding-top:20px}.options-inner>.two{max-width:620px}.options-inner>.text-button{margin-top:12px}.options-inner>.primary{margin-top:17px;font-size:13px}.settings-detail>summary{font-size:15px}.settings-detail .muted{font-weight:400}.settings-content{margin-top:24px}.settings-detail:not(.card){margin-top:24px}.settings-detail .add-agent{border:0;margin-top:0;padding-top:18px}.zone-field{max-width:420px;margin-bottom:23px}.saved-heading{margin-top:28px}.saved-heading h2{font-size:21px}.saved-heading p{font-size:12px}.saved-heading .text-button{font-size:12px}.campaign-top{padding:18px 22px}.metrics{gap:22px}.metric strong{font-size:21px}.empty{padding:27px 20px}.empty strong{font-size:16px}.roster-filters .quiet{font-size:11px}#overview{scroll-margin-top:20px}
@media(max-width:620px){.hero{padding:18px 0 24px}h1{font-size:29px}.hero nav{margin-bottom:23px}.quick-controls{grid-template-columns:1fr;gap:18px}.upload-card{padding:20px}.compact-upload{min-height:90px;padding:16px}.simple-hint{flex-direction:column;gap:6px}.tabs{margin-top:20px}.saved-heading .actions{gap:7px}.saved-heading input{max-width:155px}.settings-detail>summary{font-size:14px}.settings-detail>summary .muted{display:block;margin-top:7px}.tabs button{flex:1;padding:11px 8px}.report-options summary>.muted{font-size:11px}}

.check-mode{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:22px 0 8px}.check-mode label{max-width:240px;width:100%}.check-mode a{font-size:14px}.results-filter{display:flex;align-items:center;gap:24px;margin:10px 0 22px}.results-filter label{max-width:250px;width:100%}.changed{display:inline-block;margin-left:8px;color:#11769a;background:#e6f7ff;border-radius:12px;font-size:11px;padding:2px 7px}.metrics{flex-wrap:wrap}.campaign-card td{vertical-align:top}.campaign-card td small{color:#6a8191;display:inline-block;margin-top:5px}.campaign-card .table-scroll{max-height:600px}.shift{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shift h3{grid-column:1/-1}.shift label{min-width:0}@media(max-width:620px){.check-mode,.results-filter{align-items:stretch;flex-direction:column;gap:12px}.shift{grid-template-columns:1fr}.campaign-top{gap:20px}}

/* Logout decisions */
.logout-filters{max-width:600px}.logout-choice{min-width:205px;font-size:13px}.logout-choice[data-decision="instructed"]{background:#e6f4fc;border-color:#93cde8;color:#165c7f}#logout-list td{vertical-align:top}#logout-list .badge{margin-top:7px}#logout-list .table-scroll{max-height:600px}#logout-list th{position:sticky;top:0;z-index:1}.tabs{flex-wrap:wrap}@media(max-width:620px){.tabs button{flex:1 1 40%}}

/* Clear daily exception lists */
.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:22px}.focus-card{padding:22px;min-width:0}.focus-card .section-heading{gap:12px;flex-wrap:wrap;margin-bottom:10px}.focus-card h2{font-size:20px;margin:0}.focus-campaign{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.focus-campaign h3{font-size:16px;display:flex;align-items:center;gap:8px}.focus-campaign>.small{margin:7px 0 12px}.focus-campaign td,.focus-campaign th{padding:12px 10px}.focus-campaign td{vertical-align:top}.focus-campaign .table-scroll{max-height:450px}.focus-campaign th{position:sticky;top:0;z-index:1}.focus-empty{color:#547a8d;background:#f3f9fc;border-radius:9px;padding:13px;font-size:13px}.all-details>summary{cursor:pointer;font-weight:700;font-size:16px}.all-details .results-filter{margin-top:22px}select:disabled{color:#173e54;opacity:1;background:#f3f9fc}@media(max-width:1050px){.focus-grid{grid-template-columns:1fr}}@media(max-width:620px){.focus-card{padding:18px}.focus-card .section-heading{flex-direction:row;align-items:center}.focus-card h2{font-size:20px}.all-details{padding:14px}}
/* Individual attendance and pay cycles */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.agent-picker>input{max-width:680px;margin-top:9px}.agent-results{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.agent-result{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 17px;font-size:13px}.agent-result span{font-weight:400}.agent-result small{color:#657e8c;font-weight:400}.agent-result.selected{background:#e0f3fc;border-color:#2eb0e2}
.agent-link{background:none;border:0;padding:0;text-align:left;display:block;line-height:1.5;color:#17688c;font-size:13px}.agent-link small{display:block;font-size:11px;font-weight:400;color:#657e8c}.agent-link:hover{text-decoration:underline;background:none}
.calendar-toolbar{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:24px}.calendar-toolbar>.actions{flex-wrap:wrap}.calendar-toolbar input{width:190px}.calendar-toolbar>label{max-width:250px;width:100%}.attendance-stats{display:flex;flex-wrap:wrap;gap:15px;margin:22px 0}.attendance-stats>div{flex:1;min-width:128px;border:1px solid #dce8ef;border-radius:12px;padding:15px;background:#f8fcfe}.attendance-stats strong{display:block;font-size:23px;color:#174a65;margin-bottom:5px}.attendance-stats span{color:#607d8e;font-size:12px}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:12px;margin:20px 0;color:#527184}.calendar-legend>span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;background:#bdcbd3;margin-right:7px}.calendar-legend .legend-present:before{background:#278362}.calendar-legend .legend-late:before{background:#b77516}.calendar-legend .legend-absent:before{background:#b73949}.calendar-legend .legend-pending:before{background:#197cab}.calendar-legend .legend-off:before{background:#8291a0}
.calendar-scroll{overflow-x:auto;padding:4px}.attendance-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-width:650px}.calendar-weekday{text-align:center;font-size:12px;font-weight:700;color:#668294;padding:9px}.calendar-day{min-width:0;min-height:130px;border-radius:11px;display:flex;align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:6px;padding:12px 10px;border:1px solid #dce6ed;font-size:12px;text-align:left}.calendar-day strong{font-size:12px;line-height:1.25}.calendar-day small{font-size:10px;line-height:1.3;font-weight:400}.day-number{font-size:17px;font-weight:750;margin-bottom:3px}.calendar-day[aria-pressed=true]{outline:3px solid #1384b1;outline-offset:0}.calendar-day.is-today .day-number{text-decoration:underline;text-underline-offset:4px}.calendar-day:hover{filter:brightness(.98)}.status-present{background:#edf8f2;color:#246b51;border-color:#c7e8d7}.status-late{background:#fff6e4;color:#885913;border-color:#eed4a0}.status-absent{background:#fff0f1;color:#a03041;border-color:#edc6cc}.status-pending{background:#eaf5fe;color:#216786;border-color:#badff0}.status-off{background:#f0f3f7;color:#66798a;border-color:#dfe5eb}.status-no-data,.status-future{background:#fafcfd;color:#79909d;border-style:dashed}.attendance-tag{display:inline-block;border-radius:20px;font-size:12px;padding:7px 12px;font-weight:700;white-space:nowrap}.cycle-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px}.cycle-navigation p{text-align:center}.previous-value{display:block;font-size:11px;color:#6b8392;margin-top:4px}#cycle-table .table-scroll,#agent-history-table .table-scroll{max-height:560px}#cycle-table th,#agent-history-table th{position:sticky;top:0;z-index:1}#agent-day-detail{scroll-margin-top:20px}
@media(max-width:750px){.calendar-toolbar{align-items:stretch;flex-direction:column}.cycle-navigation{flex-wrap:wrap}.cycle-navigation p{order:-1;flex-basis:100%;text-align:left}.attendance-stats>div{min-width:125px}.attendance-stats strong{font-size:21px}.agent-result{flex:1 1 40%}.calendar-day{min-height:120px}.tabs button{flex:1 1 30%}}

/* Absence and lateness notification choices */
.attendance-choice{min-width:225px;max-width:100%;font-size:13px}.attendance-choice[data-decision="booked"]{background:#eaf5fe;border-color:#a9d9ed;color:#205f82}.attendance-choice[data-decision="same-day"]{background:#edf8f2;border-color:#b9decd;color:#286c50}.attendance-choice[data-decision="not-notified"]{background:#fff0f1;border-color:#e9bcc4;color:#9d3142}.notification-list .table-scroll{max-height:620px}.notification-list th{position:sticky;top:0;z-index:1}.notification-list td{vertical-align:top}.day-notification{max-width:330px;margin:0 0 20px}.calendar-notification{border-top:1px solid currentColor;padding-top:5px;width:100%;font-weight:600!important}.focus-campaign .attendance-choice{min-width:195px;font-size:12px;padding:9px}#cycle-table .table-scroll{padding-bottom:5px}

.attendance-choice[data-decision="told-not-to-login"]{background:#eef0fb;border-color:#c5cbea;color:#4f5c91}

.archived-toggle{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:400;color:#607d8e;margin:16px 0 20px}.archived-toggle input{width:17px;height:17px;margin:0;flex:none}

/* Direct day and date range controls */
.agent-date-filters{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr)) minmax(180px,1.2fr);gap:18px;margin:20px 0 8px}.agent-date-filters input,.agent-date-filters select{min-height:48px}.calendar-toolbar{flex-wrap:wrap;margin:22px 0 16px}.calendar-toolbar>.actions{flex-wrap:wrap}.calendar-toolbar strong{font-size:17px;padding:0 6px}#agent-calendar-content>.card>.section-heading>.actions{flex-wrap:wrap}#agent-range-table .table-scroll{max-height:620px}#agent-range-table th{position:sticky;top:0;z-index:1}#agent-range-error{margin:12px 0}#agent-range-list{margin-top:22px}#agent-month-grid{max-height:680px}.calendar-weekday{position:sticky;top:0;background:white;z-index:1}
@media(max-width:800px){.agent-date-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#agent-calendar-content>.card>.section-heading>.actions{width:100%}.calendar-toolbar strong{font-size:15px}}
@media(max-width:440px){.agent-date-filters{grid-template-columns:minmax(0,1fr)}.calendar-toolbar>.actions{gap:8px}.calendar-toolbar strong{flex-basis:calc(100% - 124px);text-align:center}}
