:root{--navy:#0b2545;--blue:#1769aa;--ink:#17202a;--muted:#667085;--line:#dbe2ea;--paper:#fff;--sand:#f4f7fb}*{box-sizing:border-box}body{background:var(--sand);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}header{background:var(--navy);color:#fff}.topbar,.wrap{max-width:1180px;margin:auto;padding-left:24px;padding-right:24px}.topbar{justify-content:space-between;align-items:center;min-height:74px;display:flex}.topbar strong{font-size:18px;display:block}.topbar span{color:#d7e4f1;font-size:13px}.topbar a{color:#fff;border:1px solid #7690ab;border-radius:8px;padding:8px 11px;font-size:13px;font-weight:700;text-decoration:none}.wrap{padding-top:34px;padding-bottom:48px}.title-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.title-row h1{margin:3px 0 8px;font-size:34px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:var(--blue);margin:0 0 6px;font-size:11px;font-weight:800}.muted{color:var(--muted);line-height:1.5}.preview-note{background:#fff8de;border:1px solid #f1dd9d;border-radius:9px;max-width:315px;padding:11px 13px;font-size:13px}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.tab,button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 13px;font:700 14px inherit}.tab{color:var(--navy);background:#e9eef5}.tab.active{background:var(--navy);color:#fff}.secondary{color:var(--navy);background:#e9eef5}button:hover{filter:brightness(.96)}button:disabled{cursor:not-allowed;opacity:.55}.card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 1px 2px #091e4208}.metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.metric span{color:var(--muted);font-size:13px;display:block}.metric strong{margin-top:5px;font-size:27px;display:block}.action-card{justify-content:space-between;align-items:center;gap:20px;margin:14px 0;display:flex}.action-card h2,.card h2{margin:0 0 7px;font-size:21px}.two-col{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.list-item{border-top:1px solid var(--line);gap:3px;margin:0;padding:11px 0;display:grid}.list-item span{color:var(--muted);font-size:13px}.schedule-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.builder-tip{color:#285577;background:#f0f7fc;border-left:3px solid #4c8dc3;max-width:600px;margin:10px 0 0;padding:9px 11px;font-size:13px;line-height:1.4}.schedule-controls{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.schedule-grid{grid-template-columns:repeat(7,minmax(185px,1fr));gap:8px;padding-bottom:4px;display:grid;overflow:auto}.day{min-height:218px;padding:12px}.day h3{margin:0 0 10px;font-size:13px}.shift{border:1px solid var(--line);border-left:3px solid #4c8dc3;border-radius:7px;gap:4px;margin:8px 0;padding:9px;font-size:12px;display:grid}.shift.open{background:#fffdf7;border-left-color:#d48b0e}.shift span,.request span,.standard-slot span{color:var(--muted)}.shift b{color:#197547;font-size:12px}.standard-slot{background:#f6fbff;border:1px dashed #8fb0ca;border-radius:7px;gap:7px;margin:8px 0;padding:9px;font-size:12px;display:grid}.standard-slot div{gap:3px;display:grid}.standard-slot select{padding:7px;font-size:12px}.standard-slot button{justify-self:start;padding:7px 9px;font-size:12px}.text-button{color:var(--blue);background:0 0;justify-self:start;padding:5px 0;font-size:12px;text-decoration:underline}.time-editor{grid-template-columns:1fr 1fr;gap:6px;padding-top:5px;display:grid}.time-editor label{color:var(--muted);gap:3px;font-size:11px;display:grid}.time-editor input{min-width:0;padding:6px;font-size:12px}.time-editor button{padding:6px 7px;font-size:11px}.inline-form{grid-template-columns:1fr 1fr;gap:7px;max-width:550px;display:grid}.inline-form input,.inline-form select{min-width:0}.inline-form .guard-count{color:var(--muted);gap:3px;font-size:12px;font-weight:700;display:grid}.nonstandard-assignments{gap:7px;padding-top:5px;display:grid}.directory-layout{grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);gap:14px;display:grid}.profile-card{align-self:start}.directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.person{border:1px solid var(--line);border-radius:9px;align-items:center;gap:10px;padding:10px;display:flex}.person>div{gap:2px;min-width:0;display:grid}.person span:not(.avatar),.person em{color:var(--muted);font-size:12px;font-style:normal}.person a{color:#165785;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.person .missing-contact{color:#9a6713;font-style:italic}.person em{margin-left:auto}.avatar{color:#165785;background:#dcebf8;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.small-button{padding:7px 9px;font-size:12px}.danger{color:#fff;background:#b42318;margin-left:auto}.form-stack{gap:11px;display:grid}.form-stack label{gap:5px;font-size:13px;font-weight:700;display:grid}.form-stack textarea{resize:vertical;min-height:82px}.form-stack button{justify-self:start}.request{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.request>div:first-child{gap:4px;font-size:14px;display:grid}.footnote{margin-top:16px;font-size:12px}.hours-total{border-bottom:1px solid var(--line);gap:3px;padding:16px 0;display:grid}.hours-total strong{font-size:29px}.hours-total span{color:var(--muted);font-size:13px}.hours-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 0;display:flex}input,select,textarea{color:var(--ink);background:#fff;border:1px solid #c9d3df;border-radius:7px;padding:9px;font:14px inherit}.notice{color:#134a77;background:#edf6ff;border:1px solid #bcdaf5;border-radius:8px;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 12px;font-size:13px;display:flex}.notice button{color:#134a77;background:0 0;padding:0;font-size:18px}.loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}@media (max-width:850px){.metrics{grid-template-columns:repeat(2,1fr)}.title-row,.action-card,.schedule-head{flex-direction:column;align-items:flex-start}.two-col,.directory-layout{grid-template-columns:1fr}.schedule-grid{grid-template-columns:repeat(7,210px)}}@media (max-width:540px){.wrap,.topbar{padding-left:15px;padding-right:15px}.wrap{padding-top:23px}.title-row h1{font-size:28px}.metrics,.directory,.inline-form,.time-editor{grid-template-columns:1fr}.request{flex-direction:column;align-items:flex-start}.topbar{min-height:66px}}.shift-slots{background:#f6fbff;border:1px dashed #8fb0ca;border-radius:7px;gap:9px;margin:8px 0;padding:9px;font-size:12px;display:grid}.shift-slots-heading{gap:3px;display:grid}.shift-slots-heading span{color:var(--muted)}.assignment-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.assignment-control{min-width:0;color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.assignment-control select{width:100%;padding:7px;font-size:12px}.assignment-row>button{white-space:nowrap;padding:7px 9px;font-size:12px}.assignment-filled{border:1px solid var(--line);background:#fff;border-radius:6px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 8px;margin:0;padding:8px;display:grid}.assignment-filled span{color:#197547;overflow-wrap:anywhere;grid-column:1/-1;min-width:0;font-weight:700}.assignment-filled .assignment-remove{padding:4px 6px;font-size:10px}.my-shifts{max-width:760px}.my-shifts-summary{background:#f0f7fc;border-radius:9px;grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:4px 8px;margin:18px 0;padding:14px;display:grid}.my-shifts-summary strong{color:var(--navy);font-size:24px}.my-shifts-summary span{color:var(--muted);font-size:12px}.my-shifts-list{gap:9px;display:grid}.my-shift{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:8px;gap:11px;padding:14px;display:grid}.my-shift-details{justify-content:space-between;gap:18px;display:flex}.my-shift-details>div{gap:4px;display:grid}.my-shift-details>div:last-child{text-align:right}.my-shift span,.my-shifts-empty span{color:var(--muted);font-size:13px}.my-shifts-empty{text-align:center;background:#f6fbff;border:1px dashed #8fb0ca;border-radius:9px;gap:5px;padding:22px;display:grid}.report-hours,.request-swap{justify-self:start}.worked-hours-form{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:9px;padding-top:11px;display:grid}.worked-hours-form label,.swap-request-form label{gap:4px;font-size:12px;font-weight:700;display:grid}.worked-hours-form .hours-note{grid-column:1/-1}.worked-hours-form textarea,.swap-request-form textarea{min-height:64px}.hours-form-actions{grid-column:1/-1;gap:8px;display:flex}.pending-hours,.approved-hours,.pending-swap{border-radius:7px;margin:0;padding:9px;font-size:12px}.pending-hours,.pending-swap{color:#805700;background:#fff8de}.approved-hours{color:#17663a;background:#edf8f2}.swap-request-form{border-top:1px solid var(--line);gap:9px;padding-top:11px;display:grid}.swap-request-form>div{gap:8px;display:flex}.hour-approvals{margin-top:14px}.hour-request{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.hour-request>div:first-child{gap:4px;display:grid}.hour-request span,.hour-request em{color:var(--muted);font-size:12px}.hour-request em{font-style:italic}.hour-request b{color:#805700;font-size:13px}.hour-request>div:last-child{gap:7px;display:flex}.request em,.request b{font-size:12px;display:block}.request em{color:var(--muted)}.request b{color:#805700}@media (max-width:540px){.my-shift-details,.hour-request{flex-direction:column;align-items:flex-start}.my-shift-details>div:last-child{text-align:left}.worked-hours-form{grid-template-columns:1fr}.worked-hours-form .hours-note,.hours-form-actions{grid-column:1}.hour-request>div:last-child{width:100%}}
.approval-page{place-items:center;min-height:100vh;padding:24px;display:grid}.approval-card{width:min(540px,100%);padding:30px}.approval-card h1{color:var(--navy);margin:0 0 12px}.approval-identity{background:#f4f7fb;border-radius:8px;gap:4px;margin:20px 0;padding:14px;display:grid}.approval-identity span,.profile-approval span{color:var(--muted);font-size:13px}.profile-approvals{border-left:4px solid #d48b0e;margin:0 0 14px}.profile-approval{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.profile-approval>div{gap:4px;display:grid}.profile-approval>div:last-child{gap:8px;display:flex}.profile-approval .danger{margin-left:0}.swap-alert{color:#805700;background:#fff8de;border-color:#f1dd9d;align-items:center}.swap-alert button{color:#fff;white-space:nowrap;background:#805700;padding:7px 10px;font-size:12px}.shift-time-controls,.employee-time-list{gap:8px;display:grid}.employee-time-row{border-top:1px solid #dbe2ea;justify-content:space-between;align-items:center;gap:8px;padding-top:7px;font-size:11px;display:flex}.employee-time-form{background:#fff;border:1px solid #dbe2ea;border-radius:7px;grid-template-columns:auto 1fr 1fr;align-items:end;gap:7px;padding:8px;display:grid}.employee-time-form label{gap:3px;font-size:11px;display:grid}.employee-time-form .recurring-choice,.employee-time-form>div{grid-column:1/-1}.employee-time-form>div{gap:7px;display:flex}.quarter-hour-help{grid-column:1/-1;margin:0;font-size:12px}.my-shift-actions,.full-day-segment{gap:9px;display:grid}.full-day-segment{border-top:1px solid var(--line);padding-top:11px}.full-day-segment>strong{color:var(--navy);font-size:12px}.full-day-cover{justify-self:start}.full-day-cover-form{background:#f6fbff;border:1px solid #bcdaf5;border-radius:8px;padding:11px}.schedule-grid{grid-template-columns:repeat(7,minmax(260px,1fr));gap:12px}.day{padding:14px}.shift,.shift-slots{margin:10px 0;padding:11px}.shift-slots{gap:12px}.shift-slots-heading{padding-bottom:2px}.aquatics-capacity-control{color:var(--navy);background:#eaf5ff;border:1px solid #78add7;border-radius:7px;gap:5px;padding:9px;font-size:12px;font-weight:800;display:grid}.aquatics-capacity-control select{width:100%;padding:8px;font-size:13px}.aquatics-capacity-control small{color:var(--muted);font-weight:600;line-height:1.35}.assignment-row{border-top:1px solid #dbe2ea;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:7px;padding-top:10px}.assignment-row:first-of-type{border-top:0;padding-top:0}.assignment-control,.assignment-control>label{gap:5px;min-width:0;display:grid}.assignment-control select,.employee-time-form select{width:100%;min-width:0}.assignment-row>button{justify-self:start}.recurring-choice{color:var(--muted);align-items:flex-start;font-size:11px;font-weight:700;line-height:1.35;gap:7px!important;display:flex!important}.recurring-choice input{flex:0 0 16px;width:16px;height:16px;margin:0;padding:0}.assignment-filled{padding:9px}.assignment-filled strong,.assignment-filled span,.employee-time-row span{overflow-wrap:anywhere;min-width:0}.recurring-remove-backdrop{z-index:1000;background:#0b25457a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.recurring-remove-dialog{background:#fff;border-radius:14px;gap:16px;width:min(460px,100%);padding:22px;display:grid;box-shadow:0 20px 60px #0b25454d}.recurring-remove-dialog h3,.recurring-remove-dialog p{margin:0}.recurring-remove-dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.recurring-remove-dialog-actions .danger{margin-left:0}.directory-person{flex-wrap:wrap}.directory-manager-actions{align-items:center;margin-left:auto;gap:6px!important;display:flex!important}.directory-manager-actions .danger{margin-left:0}.staff-name-editor{border-top:1px solid var(--line);flex:1 0 100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:7px;padding-top:9px;display:grid}.staff-name-editor label{color:var(--muted);gap:4px;font-size:11px;font-weight:700;display:grid}.staff-name-editor input{width:100%;min-width:0}.employee-time-row{grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.employee-time-row button{justify-self:start}.employee-time-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;padding:10px}.employee-time-form>strong,.employee-time-form .recurring-choice,.employee-time-form>div{grid-column:1/-1}.employee-time-form>div{flex-wrap:wrap}.shift-manager-actions{gap:8px;padding-top:3px;display:grid}.delete-shift{justify-self:start;margin-left:0}.time-editor button{white-space:normal}.aquatics-week-controls{background:#f6fbff;border:1px solid #bcdaf5;border-radius:9px;gap:8px;margin-top:14px;padding:12px;display:grid}.aquatics-week-controls>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.aquatics-week-controls span{color:var(--muted);font-size:12px;font-weight:700}.aquatics-week-controls .danger{margin-left:0}@media (max-width:850px){.schedule-grid{grid-template-columns:repeat(7,260px)}}@media (max-width:540px){.profile-approval{flex-direction:column;align-items:flex-start}.employee-time-form{grid-template-columns:1fr}.employee-time-form>strong,.employee-time-form .recurring-choice,.employee-time-form>div{grid-column:1}.aquatics-week-controls>div{flex-direction:column;align-items:stretch}.staff-name-editor{grid-template-columns:1fr}}
