:root{--blue:#075aa3;--navy:#103553;--yellow:#f8ce45;--ink:#19374e;--muted:#61798a;--line:#dce6ed;--bg:#f3f7fa}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:9px 15px;font-weight:650}button:hover{border-color:var(--blue);background:#eef6fc}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.yellow{background:var(--yellow);color:var(--navy);border-color:var(--yellow)}input,select,textarea{padding:10px 12px;border:1px solid #bccdda;border-radius:8px;background:white;color:var(--ink);max-width:100%}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #69b3e0;outline-offset:2px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue)}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:650}label.check{flex-direction:row;align-items:center;font-weight:450}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:6px}h2{font-size:22px;margin-bottom:10px}h3{font-size:16px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--blue)}[hidden]{display:none!important}#gate{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at top left,#d9edf9,transparent 65%),var(--bg)}.login{width:440px;max-width:100%;text-align:center;background:white;border:1px solid var(--line);border-top:6px solid var(--yellow);padding:35px;border-radius:22px;box-shadow:0 20px 70px #10355313}.login img{width:175px;margin-bottom:20px}.login form{display:grid;gap:16px;margin:24px 0}.login label{text-align:left}.login input{font-size:20px;letter-spacing:4px}#loginError,#editError{color:#aa2638}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:15px 36px;background:var(--navy);color:white;border-bottom:5px solid var(--yellow)}.brand{display:flex;align-items:center;gap:22px}.brand img{width:120px}.brand strong{font-size:24px;display:block}.brand span{font-size:12px;color:#c1dbe9}.header-actions{display:flex;align-items:center;gap:12px}#saveStatus{font-size:12px}.shell{max-width:1700px;margin:auto}nav{display:flex;gap:5px;padding:16px 32px 0;border-bottom:1px solid var(--line);background:white}nav button{border:0;border-radius:8px 8px 0 0;padding:13px 22px;color:var(--muted)}nav button.selected{color:var(--blue);background:#eaf4fc;border-bottom:3px solid var(--blue)}main{padding:28px 32px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.page-head p{margin-bottom:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.toolbar input[type=search]{min-width:230px}.spacer{flex:1}.card{border:1px solid var(--line);border-radius:14px;background:white;padding:22px;margin-bottom:18px}.table-wrap{overflow:visible;border:1px solid var(--line);border-radius:12px;background:white;max-height:none}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:#edf4fa;color:#47667c;font-size:12px;position:sticky;top:0;z-index:2}th:first-child,td:first-child{position:sticky;left:0;min-width:210px;background:white;z-index:1}th:first-child{z-index:3;background:#edf4fa}tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:11px}.cal-cell{min-width:125px;padding:7px}.day-button{width:100%;min-height:61px;text-align:left;font-size:12px;padding:9px;border:1px solid transparent;background:#f4f6f8;font-weight:500}.day-button.available{background:#e8f5f1;color:#236551}.day-button.unavailable{background:#fff0ee;color:#9a4036}.day-button.limited{background:#eaf3fe;color:#155b9a}.day-button strong{display:block}.day-button small{color:inherit}.day-button .shift{display:block;margin-top:5px;border-top:1px solid #abc6df;padding-top:4px;font-weight:700}.day-button .conflict{color:#a01f35}.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin:12px 0}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;background:#cad3db}.dot.available{background:#69ad96}.dot.limited{background:#69a9e1}.dot.unavailable{background:#da8c83}.tag{font-size:11px;display:inline-block;background:#edf4fa;color:var(--blue);padding:3px 8px;border-radius:20px}.tag.archived{background:#f0f0f0;color:#666}.empty{text-align:center;padding:40px;color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:16px}.full{grid-column:1/-1}.training-button{min-width:110px;text-align:left;font-size:12px}.training-button.done{background:#e8f5f1;color:#236551;border-color:#badaca}.training-button.expired{background:#fff0ee;color:#9a4036}.training-button small{color:inherit}.stats{display:flex;gap:12px;margin-bottom:20px}.stat{padding:14px 20px;background:white;border:1px solid var(--line);border-radius:12px;min-width:140px}.stat strong{display:block;font-size:24px;color:var(--blue)}.stat span{font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:16px;max-width:660px;width:calc(100% - 30px);padding:24px;box-shadow:0 30px 100px #10355340}dialog::backdrop{background:#102f4866;backdrop-filter:blur(3px)}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-actions{justify-content:flex-end;margin-top:22px}.dialog-head{margin-bottom:20px}.dialog-head h2{margin:0}.weekly-row{display:grid;grid-template-columns:55px 1fr 110px 110px;gap:8px;align-items:center;margin-bottom:10px}.weekly-row input{width:100%;padding:8px}#notice{background:#e7f1fc;border:1px solid #b9d7f0;border-radius:10px;padding:12px;margin-bottom:18px}.month{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px}.month-head{font-weight:650;color:var(--muted);padding:5px}.month .day-button{min-height:100px}.outside{opacity:.45}#editBody textarea{min-height:70px;width:100%}.training-list{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:800px){header{padding:14px;height:auto}.brand img{width:75px}.brand strong{font-size:20px}.brand span{display:none}main{padding:18px 12px}nav{padding:8px 8px 0;overflow:visible}nav button{padding:12px;white-space:nowrap}.page-head{align-items:flex-start;flex-direction:column}.grid{grid-template-columns:1fr}.weekly-row{grid-template-columns:40px 1fr 90px 90px}.month{overflow:visible}.stats{flex-wrap:wrap}.header-actions{gap:6px}.header-actions button{padding:8px}#saveStatus{max-width:95px}}
nav{overflow:visible}nav button{white-space:nowrap;font-size:13px;padding:13px 16px}.day-button.warning{background:#fff0c9;border-color:#ecc455;color:#775215}.over-limit{background:#fff0c9;color:#775215;font-weight:750}tfoot td,tfoot th{background:#edf4fa;position:sticky;bottom:0;z-index:2;border-top:2px solid #b4cce0;min-width:125px;font-size:12px}tfoot th:first-child{z-index:3;background:#edf4fa}.strike-list{padding-left:20px;max-height:none;overflow:visible}.strike-list li{margin-top:15px}.strike-list p{font-size:13px;margin:5px 0}.person{border:0;padding:4px 0;background:transparent;text-align:left;color:var(--blue)}
.tenure{font-size:12px;color:#326381;background:#eaf4fb;padding:9px 12px;border-left:3px solid var(--yellow);border-radius:5px}

.departure-list{display:grid;gap:10px}.departure-list button{display:flex;justify-content:space-between;gap:20px;text-align:left}.header-actions{flex-wrap:wrap}#departures{font-size:13px}#view{animation:page-in .18s ease-out}dialog[open]{animation:page-in .16s ease-out}button{transition:background-color .15s ease,box-shadow .15s ease}@keyframes page-in{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#view,dialog[open]{animation:none}button{transition:none}}

#app{--soft:#eaf4fc;--border-accent:#b9d7f0;background:var(--bg);min-height:100vh}
[data-theme="purple-pink"]{--blue:#773ba1;--navy:#38204f;--yellow:#f5b1d7;--ink:#3d2a4a;--muted:#79657e;--line:#e7daed;--bg:#faf5fc;--soft:#f2e9f8;--border-accent:#d5b6e5}
[data-theme="salmon-red"]{--blue:#b5343d;--navy:#592b31;--yellow:#ffb3a0;--ink:#512e32;--muted:#856769;--line:#efdcd7;--bg:#fff7f4;--soft:#fce8e2;--border-accent:#e8b8ae}
[data-theme="teal-mint"]{--blue:#08776f;--navy:#153e40;--yellow:#a1e5c1;--ink:#234a47;--muted:#617f78;--line:#d6e8e2;--bg:#f3faf7;--soft:#e0f3eb;--border-accent:#a4d7c4}
[data-theme="slate-gold"]{--blue:#4c617d;--navy:#283547;--yellow:#edc777;--ink:#354355;--muted:#737c88;--line:#dfe3e9;--bg:#f7f8fa;--soft:#e9edf3;--border-accent:#bbc7d8}
#app{color:var(--ink)}#app button:hover,#app nav button.selected,#app th,#app tfoot td,#app tfoot th,#app .tag,#app .tenure,#app .day-button.limited{background:var(--soft);color:var(--blue)}#app button.primary{background:var(--blue);color:white}#app button.yellow{background:var(--yellow);color:var(--navy)}#app #notice{background:var(--soft);border-color:var(--border-accent)}#app .day-button.warning{background:#fff0c9;color:#775215}#app .day-button.unavailable{background:#fff0ee;color:#9a4036}#app .day-button.available{background:#e8f5f1;color:#236551}
.schedule-controls{background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:12px 16px}.schedule-controls summary{cursor:pointer;font-weight:650;color:var(--blue)}.schedule-controls summary span{font-size:12px;font-weight:400;margin-left:12px}.schedule-controls[open] summary{margin-bottom:16px}.schedule-grid{max-height:none;border-top:4px solid var(--yellow)}.schedule-grid tbody tr:hover td:first-child{background:var(--soft)}.schedule-grid .day-button{border-left:3px solid var(--border-accent)}.schedule-grid .day-button.limited{border-left-color:var(--blue)}.schedule-grid .day-button.warning{border-left-color:#c48b12}.schedule-grid.compact td{padding:5px 7px}.schedule-grid.compact .day-button{min-height:42px;padding:5px 7px;font-size:11px}.schedule-grid.compact .cal-cell{min-width:112px}.schedule-grid.compact td:first-child{min-width:180px;max-width:230px}.schedule-grid.compact td:first-child small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:215px}.appearance-card{border-top:4px solid var(--yellow)}.theme-swatches{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.theme-chip{border-radius:30px;padding:7px 14px;font-size:12px;font-weight:650;border-left:10px solid #f8ce45;background:#eaf4fc;color:#075aa3}.theme-chip[data-palette="purple-pink"]{background:#f2e9f8;color:#773ba1;border-color:#f5b1d7}.theme-chip[data-palette="salmon-red"]{background:#fce8e2;color:#b5343d;border-color:#ffb3a0}.theme-chip[data-palette="teal-mint"]{background:#e0f3eb;color:#08776f;border-color:#a1e5c1}.theme-chip[data-palette="slate-gold"]{background:#e9edf3;color:#4c617d;border-color:#edc777}

dialog{color:var(--ink)}#app .brand span{color:#fff;opacity:.78}.schedule-grid .day-button:hover{box-shadow:0 0 0 2px var(--border-accent)}

#editBody pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:var(--bg);padding:10px;border-radius:8px}#editBody details{margin:10px 0}#editBody summary{cursor:pointer;font-weight:650}

#gate{position:relative;isolation:isolate;overflow:hidden;min-height:100dvh;background:linear-gradient(135deg,#073d79 0%,#087ca4 47%,#64bccc 100%);padding:36px 20px}.login-art{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.color-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.85}.orb-one{width:55vw;height:55vw;min-width:380px;min-height:380px;background:#08d6df;left:-20%;top:-30%}.orb-two{width:45vw;height:45vw;min-width:340px;min-height:340px;background:#ffd259;right:-17%;bottom:-25%}.orb-three{width:28vw;height:28vw;min-width:220px;min-height:220px;background:#7d79ed;right:7%;top:-15%;opacity:.5}.glass-calendar{position:absolute;left:12%;top:22%;width:76%;height:65%;transform:rotate(-9deg);border-radius:28px;border:2px solid #ffffff60;background:#ffffff20;padding:28px;filter:blur(9px);opacity:.5;box-shadow:0 30px 90px #06386230}.calendar-top{height:36px;width:40%;background:#fff9;border-radius:12px;margin-bottom:25px}.calendar-tiles{display:grid;grid-template-columns:repeat(7,1fr);gap:16px;height:75%}.calendar-tiles span{background:#d7f8ff80;border-radius:12px}.calendar-tiles span:nth-child(3n){background:#ffe28cbb}.calendar-tiles span:nth-child(5n){background:#8ee8d8aa}#gate .login{position:relative;width:430px;padding:36px 38px 28px;border-radius:28px;border:1px solid #ffffffc0;border-top:5px solid #f8ce45;background:#fffffff0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 28px 90px #002c5a55;text-align:center}#gate .login img{width:155px;margin-bottom:24px;filter:drop-shadow(0 5px 8px #075aa31c)}#gate .login h1{font-size:34px;letter-spacing:-1.3px;color:#103553}#gate .login .eyebrow{font-size:10px;letter-spacing:2.3px;margin-bottom:8px}#gate .login form{margin:20px 0 14px;gap:18px}#gate .login input{width:100%;text-align:center;font-size:28px;letter-spacing:10px;border:1px solid #c6dce8;background:#f5faff;padding:15px 18px;border-radius:14px}#gate #unlock{padding:14px;border-radius:12px;box-shadow:0 4px 12px #f8ce4530}#gate #chooseFolder{margin-top:14px;background:#e9f5fd;color:#075aa3;border:1px solid #c5e2f3;font-size:13px;padding:9px 18px;border-radius:30px}#gate #folderStatus{font-size:11px;overflow-wrap:anywhere;margin:9px 0}#gate #loginError{font-size:13px}#gate .login>p:last-child{font-size:11px;margin-bottom:0}@media(max-width:480px){#gate .login{padding:28px 24px 24px}#gate .login h1{font-size:30px}.glass-calendar{width:120%;left:-10%}}@media(prefers-reduced-transparency:reduce){#gate .login{background:#fff;backdrop-filter:none}}

.pin-field{position:relative;display:flex;width:100%;align-items:center}.pin-field input{width:100%;padding-right:52px!important}.pin-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:9px;border:0;background:transparent;color:var(--blue);display:grid;place-items:center}.pin-eye:hover{background:#e0effa}.planner-backdrop{background:#f3f7fa;filter:blur(9px);transform:scale(1.04);color:#19374e;opacity:1}.preview-header{height:105px;background:#103553;border-bottom:5px solid #f8ce45;display:flex;align-items:center;padding:15px 40px;gap:20px;color:white;font-size:25px}.preview-header img{width:115px}.preview-nav{padding:20px 40px;background:white;border-bottom:1px solid #dce6ed}.preview-main{padding:40px;max-width:1500px;margin:auto}.preview-cards{display:flex;gap:20px;margin:24px 0}.preview-cards span{flex:1;background:white;border-top:5px solid #f8ce45;padding:25px;border-radius:12px}.preview-table{display:grid;grid-template-columns:1.4fr repeat(5,1fr);background:white;border-radius:14px;overflow:hidden}.preview-table>div{min-height:75px;padding:15px;border:1px solid #e5eef4}.preview-table>div:nth-child(-n+6){background:#eaf4fc;min-height:55px}.preview-placeholder{display:block;width:85%;height:40px;background:#dceefa;border-radius:7px;border-left:4px solid #075aa3}.preview-table>div:nth-child(4n) .preview-placeholder{background:#fff0bc;border-color:#e1b32a}#gate{background:#eaf4fc}#gate::after{content:'';position:absolute;inset:0;background:#153a6350;z-index:-1;pointer-events:none}#gate .login{background:#fffffff2}#gate .login-art{z-index:-2}
/* Comfortable tables and grouped navigation */
#app tbody tr:nth-child(even)>td{background:#f3f7fa}#app tbody tr:nth-child(odd)>td{background:#fff}#app tbody tr:hover>td{background:var(--soft)}#app td{border-bottom-color:#e6edf2}#app td:first-child{background:inherit}.filter-bar{background:white;border:1px solid var(--line);padding:15px;border-radius:14px;gap:12px}.filter-bar select{max-width:260px}.filter-count{font-size:12px;color:var(--muted)}#advancedFilters{border:1px solid var(--line);border-radius:12px;padding:12px 15px;background:white;margin-bottom:18px}#advancedFilters summary{cursor:pointer;color:var(--blue);font-weight:650}.filter-tabs,.schedule-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.filter-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;max-height:none;overflow:visible;padding:10px 0}.cert-filter{padding:12px;background:var(--soft);border-radius:9px}.cert-filter strong{display:block;margin-bottom:8px}.schedule-subnav{padding:10px;background:white;border:1px solid var(--line);border-radius:13px}.brush-bar{padding:12px 15px;background:var(--soft);border-radius:12px}.brush-bar label{min-width:220px}.week-actions{display:flex;gap:5px;margin-top:6px}.week-actions button{font-size:10px;padding:3px 7px}.job-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;max-width:280px}.job-tag{font-size:10px;border-radius:6px;padding:3px 6px;display:inline-block}.job-tags .job-tag:nth-child(n+5){display:none}.mini-hero+.mini-facts+.job-tags .job-tag{display:inline-block}.cert-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px}.certification-chips{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.certification-chips button{font-size:12px;border-width:2px;text-align:left}.certification-chips small{display:block;font-size:10px;color:var(--muted)}.mini-hero{display:flex;align-items:center;gap:18px;padding:20px;border-radius:16px;background:var(--soft);margin-bottom:18px}.mini-hero h3{margin:6px 0}.mini-hero p{margin:0;font-size:12px}.avatar{display:grid;place-items:center;border-radius:50%;width:62px;height:62px;flex-shrink:0;background:var(--blue);color:white;font-size:23px;font-weight:750}.mini-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.mini-facts div{padding:12px;background:#f6f8fa;border-radius:10px;overflow-wrap:anywhere}.mini-facts small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.mini-facts strong{font-size:13px}.status-pill{font-size:11px;background:white;border-radius:20px;padding:4px 10px}.mini-actions{padding-top:15px;border-top:1px solid var(--line)}.mini-actions button{font-size:12px}.mini-notes{white-space:pre-wrap;color:var(--muted);font-size:13px}.strike-badge,.rehire-badge{display:inline-block;padding:4px 9px;border-radius:8px;font-weight:650;font-size:12px}.strike-caution{background:#fff2b7!important;color:#745006!important}.strike-high{background:#ffe4e6!important;color:#a32036!important}.rehire-badge.yes{background:#dcfce7;color:#166534}.rehire-badge.no{background:#fee2e2;color:#991b1b}.rehire-badge.undecided{background:#f1f5f9;color:#64748b}.person.strike-high,.person.strike-caution{padding:4px 8px;border-radius:6px}.palette-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:20px 0}.palette-choice{display:grid;grid-template-columns:1fr 1fr;padding:8px;gap:5px;border:2px solid var(--line)}.palette-choice span{height:40px;border-radius:6px}.palette-choice strong{grid-column:1/-1;font-size:12px;padding:5px}.palette-choice.chosen{border-color:var(--blue);box-shadow:0 0 0 2px var(--soft)}.color-editor{display:flex;align-items:center;gap:14px;margin:18px 0}.color-editor input[type=color],input[type=color]{height:48px;width:70px;padding:4px;cursor:pointer}.catalog-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}.catalog-row small{display:block;font-size:11px;color:var(--muted)}#jobCatalogList{max-height:none;overflow:visible}.dashboard-hero{background:linear-gradient(120deg,var(--navy),var(--blue));padding:30px;border-radius:20px;color:white;margin-bottom:22px;border-bottom:5px solid var(--yellow)}.dashboard-hero .eyebrow{color:var(--yellow)}.dashboard-hero p:last-child{margin:0;opacity:.88}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.dashboard-stats .stat{border-top:4px solid var(--yellow)}.dashboard-stats small{display:block;font-size:11px;color:var(--muted);margin-top:8px}.month-overview{display:grid;grid-template-columns:repeat(7,minmax(95px,1fr));gap:8px;overflow:visible}.month-heading{font-size:12px;color:var(--muted);font-weight:700;padding:8px}.month-date{min-height:120px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:12px;background:white;border-top:3px solid var(--blue)}.month-date strong{font-size:18px}.month-date small{font-size:10px;color:var(--muted)}.month-date.adjacent{opacity:.5;background:#edf2f7}.attendance-date{max-width:220px;margin-bottom:18px}#departures{display:flex;align-items:center;gap:5px;min-width:42px;justify-content:center}#departures .announcement-count{background:#f8ce45;color:#103553;border-radius:12px;padding:1px 5px;font-size:11px}@media(max-width:900px){.dashboard-stats{grid-template-columns:1fr 1fr}.month-overview{grid-template-columns:repeat(7,minmax(90px,1fr))}}@media(max-width:480px){.mini-facts{grid-template-columns:1fr}.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-stats .stat{min-width:0;padding:12px}.filter-bar select{width:100%;max-width:none}}

.uniform-frame{width:100%;min-height:850px;height:calc(100vh - 235px);border:0;border-radius:18px;background:#f4f8fc}.uniform-help{margin-bottom:12px}.shell nav{flex-wrap:wrap}

.archive-files{display:grid;gap:8px}.archive-files button{display:flex;flex-direction:column;text-align:left;gap:5px}.archive-files small{color:var(--muted)}

.attendance-job{margin:14px 0;border:1px solid var(--border);border-radius:12px;padding:12px}.attendance-job summary{font-weight:700;cursor:pointer}.attendance-present{background:#dcfce7;color:#166534}.attendance-review{background:#fee2e2;color:#991b1b}

.department-editor{max-height:none;overflow:visible}.department-edit-row{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:8px;border-bottom:1px solid var(--border)}.strike-details{white-space:pre-wrap;max-width:420px}.filter-bar select{max-width:260px}.uniform-frame{background:var(--bg)}

.day-shell{position:relative;padding-bottom:28px}.day-tools{display:flex;gap:3px;opacity:0;transition:opacity .15s;position:absolute;bottom:0;left:0}.day-shell:hover .day-tools,.day-shell:focus-within .day-tools{opacity:1}.day-tools button{padding:3px 5px;font-size:11px}.people-picker{padding:12px;border:1px solid var(--border);border-radius:12px;margin:12px 0}#peopleChoices{max-height:none;overflow:visible;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.person-month{margin:20px 0}.person-month .month>div{min-width:0}.person-month small{font-weight:normal}@media(hover:none){.day-tools{opacity:1}}

.inline-catalog{margin:12px 0}.inline-catalog .catalog-row{gap:8px;padding:10px 0}.inline-catalog .catalog-row>span:first-child{flex:1;min-width:0}.inline-catalog small{display:block;color:var(--muted)}#gate .login #pin{padding-left:48px;padding-right:48px;letter-spacing:0;text-align:center;font-family:monospace}#gate .login #pin::placeholder{letter-spacing:0;text-align:center}

/* Keep daily totals in the table flow so they never cover employee rows. */
tfoot td,tfoot th,tfoot th:first-child{position:static!important;top:auto!important;bottom:auto!important;left:auto!important;z-index:auto!important;border-top:3px solid var(--blue);background:var(--soft,#edf4fa)}.dashboard-link{text-align:left;display:block}.dashboard-link small{display:block}.dashboard-link:hover{box-shadow:0 4px 14px #10355315;transform:translateY(-1px)}.day-comparison{margin-bottom:18px;max-height:none}.day-comparison th:first-child,.day-comparison td:first-child{min-width:150px}.day-comparison button{padding:5px 7px;font-size:11px}

#attendance-workspace .attendance-heading{ display: flex; align-items: center; justify-content: space-between; gap: 16px; }#attendance-workspace .attendance-heading h2{ margin: 2px 0 2px; }#attendance-workspace .attendance-heading p{ margin: 0; color: #617184; font-size: .9rem; }#attendance-workspace .attendance-heading .eyebrow{ color: #075da8; font-size: .7rem; }#attendance-workspace .attendance-summary{ max-width: 620px; grid-template-columns: repeat(3, 1fr); }#attendance-workspace .attendance-help{ margin: 12px 0 0; max-width: 760px; color: #52687b; font-size: .9rem; line-height: 1.45; }#attendance-workspace .attendance-department-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }#attendance-workspace .attendance-department-tabs button{ width: auto; margin: 0; padding: 8px 13px; border-radius: 999px; background: #edf3f6; color: #2b4658; box-shadow: none; }#attendance-workspace .attendance-department-tabs button.active{ background: #075da8; color: #fff; }#attendance-workspace .attendance-check,#attendance-workspace .attendance-x,#attendance-workspace .attendance-unknown{ white-space: nowrap; }#attendance-workspace .attendance-check{ color: #075da8; font-weight: 800; }#attendance-workspace .attendance-x{ color: #ae283b; font-weight: 800; }#attendance-workspace .attendance-unknown{ color: #9a6700; font-weight: 800; }#attendance-workspace .attendance-group{ margin-top: 14px; overflow: hidden; border: 1px solid #dfe8ed; border-radius: 12px; background: #fff; }#attendance-workspace .attendance-group summary{ display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; cursor: pointer; color: #234057; font-weight: 800; list-style: none; }#attendance-workspace .attendance-group summary::-webkit-details-marker{ display: none; }#attendance-workspace .attendance-group summary::after{ content: '⌄'; margin-left: 8px; color: #5d7283; font-size: 1.1rem; }#attendance-workspace .attendance-group:not([open]) summary::after{ transform: rotate(-90deg); }#attendance-workspace .attendance-group summary small{ margin-left: auto; color: #647889; font-size: .76rem; font-weight: 650; }#attendance-workspace .attendance-lifeguard-group summary{ background: #edf5ff; color: #075da8; }#attendance-workspace .attendance-lead-group summary{ background: #edf4fb; color: #245a83; }#attendance-workspace .attendance-manager-group summary{ background: #f4effa; color: #68428d; }#attendance-workspace .attendance .attendance-group .table-wrap{ margin: 0; border: 0; border-top: 1px solid #e1e9ee; border-radius: 0; }#attendance-workspace .attendance table{ min-width: 700px; }#attendance-workspace .attendance th:first-child,#attendance-workspace .attendance td:first-child{ width: 130px; }#attendance-workspace .attendance td:nth-child(2){ font-weight: 700; color: #234057; }#attendance-workspace .attendance-phone-toggle{ margin: 0; padding: 4px 8px; border: 1px solid #a9d7cb; border-radius: 7px; background: #edf8f5; color: #075da8; box-shadow: none; font-size: .78rem; font-weight: 800; white-space: nowrap; }#attendance-workspace .attendance-phone-toggle:hover{ background: #dff2eb; color: #064c89; transform: none; }#attendance-workspace .attendance-schedule-save{ margin: 16px 0; padding: 14px; border: 1px solid #b8dfd6; border-radius: 12px; background: #f0faf7; }#attendance-workspace .attendance-schedule-save h3{ margin: 0; color: #075da8; }#attendance-workspace .attendance-schedule-save p{ margin: 5px 0 11px; color: #486677; font-size: .87rem; }#attendance-workspace .time-card-download{ padding: 14px; border: 1px solid #b8dfd6; border-radius: 12px; background: #fff; }#attendance-workspace .time-card-download h3{ margin: 0; color: #075da8; font-size: 1rem; }#attendance-workspace .time-card-download p{ margin: 5px 0 11px; color: #486677; font-size: .87rem; line-height: 1.4; }#attendance-workspace .time-card-download .secondary{ margin: 0; }#attendance-workspace .attendance-source-tabs{ display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 0; }#attendance-workspace .attendance-source-tabs button{ width: auto; margin: 0; padding: 8px 13px; border-radius: 999px; background: #edf3f6; color: #2b4658; box-shadow: none; }#attendance-workspace .attendance-source-tabs button.active{ background: #075da8; color: #fff; }#attendance-workspace .mapping-editor{ display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 9px; margin: 10px 0; }#attendance-workspace .mapping-editor h4{ grid-column: 1 / -1; margin: 2px 0; color: #254458; }#attendance-workspace .mapping-editor label{ gap: 4px; color: #52687b; font-size: .78rem; }#attendance-workspace .mapping-editor input,#attendance-workspace .mapping-editor select{ padding: 8px; }#attendance-workspace .attendance-department-tabs .category-aquatics.active{ background: #075da8; }#attendance-workspace .attendance-department-tabs .category-front-gate.active{ background: #bd6a18; }#attendance-workspace .attendance-department-tabs .category-food-beverage.active{ background: #b3455e; }#attendance-workspace .attendance-department-tabs .category-retail.active{ background: #7453a6; }#attendance-workspace .attendance-department-tabs .category-tipped-employees.active{ background: #14778a; }#attendance-workspace .attendance-department-tabs .category-administration.active{ background: #4e6473; }#attendance-workspace .attendance-group.category-aquatics summary{ background: #edf5ff; color: #075da8; }#attendance-workspace .attendance-group.category-front-gate summary{ background: #fff3e7; color: #9b5411; }#attendance-workspace .attendance-group.category-food-beverage summary{ background: #fff0f3; color: #96364d; }#attendance-workspace .attendance-group.category-retail summary{ background: #f4effa; color: #68428d; }#attendance-workspace .attendance-group.category-tipped-employees summary{ background: #eaf7fa; color: #126778; }#attendance-workspace .attendance-group.category-administration summary{ background: #eef2f4; color: #405663; }#attendance-workspace .attendance-department-tabs .category-aquatics{ background: #dff4ec; color: #126846; }#attendance-workspace .attendance-department-tabs .category-front-gate{ background: #ffe7cc; color: #98520e; }#attendance-workspace .attendance-department-tabs .category-food-beverage{ background: #ffe1e8; color: #96364d; }#attendance-workspace .attendance-department-tabs .category-tipped-employees{ background: #dff4f8; color: #126778; }#attendance-workspace .attendance-department-tabs .category-administration{ background: #e4eaee; color: #405663; }#attendance-workspace .attendance-department-tabs .category-security{ background: #eee2ff; color: #67448b; }#attendance-workspace .attendance-department-tabs .category-aquatics.active{ background: #075da8; color: #fff; }#attendance-workspace .attendance-department-tabs .category-front-gate.active{ background: #bd6a18; color: #fff; }#attendance-workspace .attendance-department-tabs .category-food-beverage.active{ background: #b3455e; color: #fff; }#attendance-workspace .attendance-department-tabs .category-tipped-employees.active{ background: #14778a; color: #fff; }#attendance-workspace .attendance-department-tabs .category-administration.active{ background: #4e6473; color: #fff; }#attendance-workspace .attendance-department-tabs .category-security.active{ background: #67448b; color: #fff; }#attendance-workspace .attendance-group.category-security{ border-color: #dac8ee; }#attendance-workspace .attendance-group.category-aquatics{ border-color: #b9e4d2; }#attendance-workspace .attendance-group.category-front-gate{ border-color: #f4cca8; }#attendance-workspace .attendance-group.category-food-beverage{ border-color: #efbdca; }#attendance-workspace .attendance-group.category-tipped-employees{ border-color: #b8e1e9; }#attendance-workspace .attendance-group.category-administration{ border-color: #cdd8df; }#attendance-workspace .attendance-group.role-lifeguard summary{ background: #d8f2e6; color: #146846; }#attendance-workspace .attendance-group.role-lead summary,#attendance-workspace .attendance-group.role-lead-lifeguard summary{ background: #dcecfb; color: #245a83; }#attendance-workspace .attendance-group.role-area-manager summary{ background: #e9ddf8; color: #65418a; }#attendance-workspace .attendance-group.role-head-guard summary{ background: #dce4ec; color: #3f5368; }#attendance-workspace .attendance-group.role-manager summary{ background: #ffe8ba; color: #8a5a11; }#attendance-workspace .attendance-group.role-unscheduled summary{ background: #f7dfe3; color: #75404a; }#attendance-workspace .attendance-group.role-other summary{ background: #f3f5f7; color: #425c6d; }#attendance-workspace .attendance-group.category-front-gate.role-other summary{ background: #ffe1bd; color: #8a4709; }#attendance-workspace .attendance-group.category-food-beverage.role-other summary{ background: #ffdce5; color: #91334b; }#attendance-workspace .attendance-group.category-tipped-employees.role-other summary{ background: #d4f1f6; color: #116979; }#attendance-workspace .attendance-group.category-administration.role-other summary{ background: #e1e8ed; color: #3f5665; }#attendance-workspace .attendance-group.category-security.role-other summary{ background: #e8dafa; color: #634184; }#attendance-workspace .attendance-group.category-aquatics.role-other summary{ background: #daf0e6; color: #075da8; }#attendance-workspace .attendance-section-tools{ display: flex; flex-wrap: wrap; gap: 8px; padding: 9px 14px; border-bottom: 1px solid #e1e9ee; background: #fbfdfe; }#attendance-workspace .attendance-section-tools .attendance-sort-toggle{ padding: 7px 9px; border: 1px solid #dbe6ed; border-radius: 7px; background: #fff; color: #2b5267; font-size: .74rem; font-weight: 750; letter-spacing: .02em; text-transform: none; }#attendance-workspace .attendance-section-tools .attendance-sort-toggle:hover{ border-color: #8fc6bb; background: #eff8f5; color: #075da8; text-decoration: none; }#attendance-workspace .attendance-section-tools .attendance-sort-reset{ min-width: 33px; padding: 5px 8px; font-size: 1.1rem; line-height: 1; }#attendance-workspace .attendance-sort-toggle{ width: auto; margin: 0; padding: 0; border-radius: 0; background: transparent; color: #2b4658; box-shadow: none; font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }#attendance-workspace .attendance-sort-toggle:hover{ background: transparent; color: #075da8; transform: none; text-decoration: underline; }#attendance-workspace .critical-key{ color: #9f2235; font-size: .84rem; font-weight: 700; }#attendance-workspace .critical-key b,#attendance-workspace .critical-flag{ display: inline-grid; min-width: 19px; height: 19px; place-items: center; border-radius: 10px; background: #b5223d; color: #fff; font-size: .78rem; font-weight: 900; }#attendance-workspace .late-label,#attendance-workspace .early-label{ padding: 0 6px; vertical-align: middle; }#attendance-workspace .early-label{ display: inline-grid; min-width: 19px; height: 19px; place-items: center; border-radius: 10px; background: #e1ad2d; color: #493800; font-size: .78rem; font-weight: 900; }#attendance-workspace .punch-late{ color: #a41f35; background: #fff0f1; font-weight: 800; }#attendance-workspace .punch-early{ color: #846000; background: #fff6d8; font-weight: 800; }#attendance-workspace tr.attendance-here,#attendance-workspace tr.attendance-here_unknown{ background: #f2f8f5; }#attendance-workspace tr.attendance-no_punch{ background: #fff0f1; }#attendance-workspace tr.attendance-needs_staff_number{ background: #f5f7f8; }#attendance-workspace tr.attendance-here.critical{ background: #fff0f1; }#attendance-workspace tr.no-expected-staff td{ padding: 16px; color: #657889; font-style: italic; text-align: center; }

#app #attendance-workspace .attendance-department-tabs button{background:var(--soft);color:var(--blue);border:1px solid var(--line)}#app #attendance-workspace .attendance-department-tabs button.active{background:var(--blue);color:white;box-shadow:inset 0 -3px var(--yellow)}#app #attendance-workspace .attendance-group>summary{background:var(--soft);color:var(--blue);border-left:4px solid var(--yellow)}#app #attendance-workspace .attendance-phone-toggle{background:var(--soft);color:var(--blue);border-color:var(--line)}#attendance-workspace .attendance-section-tools{background:var(--bg)}#attendance-workspace table{min-width:850px;font-size:13px}#attendance-workspace th:first-child,#attendance-workspace td:first-child{position:static;min-width:105px;width:auto;background:inherit}#attendance-workspace th{background:var(--soft);color:var(--blue)}#attendance-workspace td{vertical-align:middle}#attendance-workspace .table-wrap{margin:0;border-radius:0}#attendance-workspace .punch-late{color:#a41f35;background:#fff0f1;font-weight:800}#attendance-workspace .punch-early{color:#846000;background:#fff6d8;font-weight:800}

.availability-week{display:grid;gap:10px;margin-top:18px}.availability-weekday{display:grid;grid-template-columns:70px 150px 1fr;gap:12px;align-items:center;padding:12px;background:var(--bg);border-radius:12px}.day-button{font-size:14px;min-height:76px}.day-tools button{font-size:12px;padding:4px 7px}.day-shell{padding-bottom:34px}.person-month .month>div{min-height:130px}.month-head{font-size:15px}.schedule-subnav button{font-size:15px;padding:12px 18px}@media(max-width:650px){.availability-weekday{grid-template-columns:1fr 1fr}.availability-weekday>label:last-child{grid-column:1/-1}}

/* Roomy scheduling cards and stable, accessible actions. */
.employee-department{display:block;font-size:12px;font-weight:650;color:var(--blue);margin:5px 0 8px;white-space:normal}
.schedule-grid .cal-cell{min-width:190px;vertical-align:top;padding:12px 9px}.schedule-grid .day-button{min-height:112px;padding:14px 12px;border-radius:12px;font-size:16px}.schedule-grid .day-button strong{font-size:18px;margin:7px 0}.schedule-grid .day-button small{font-size:13px;white-space:normal}.availability-caption{display:block;font-size:12px;font-weight:700}.schedule-grid .day-button.available{background:#e7f4ec;border-left-color:#3d9360;color:#205936}.schedule-grid .day-button.unavailable{background:#fdeceb;border-left-color:#c95b61;color:#963d45}.schedule-grid .day-button.limited{background:color-mix(in srgb,var(--blue) 10%,white);color:var(--ink)}.schedule-grid .day-button.warning{background:#fff1ca;color:#734e13}.day-shell{padding-bottom:0}.day-tools{position:static;opacity:1;display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.day-tools button{min-height:32px;padding:5px 8px;font-size:12px;line-height:1.2}.day-tools button[data-day-tool="delete"]{color:#a13846;background:#fff1f2;margin-left:auto}.schedule-grid.compact .day-button{min-height:86px;font-size:14px}.schedule-grid.compact .day-button strong{font-size:16px}.schedule-grid.compact .cal-cell{min-width:180px}.schedule-grid tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--blue) 4%,white)}.schedule-grid tbody tr:nth-child(odd) td{background:white}.schedule-grid tbody td:first-child{border-left:4px solid color-mix(in srgb,var(--yellow) 75%,white)}.job-tags{gap:5px;display:flex;flex-wrap:wrap;margin-top:7px}.week-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.global-people-search{position:relative;flex:1;max-width:430px;margin:0 24px}.global-people-search input{width:100%;background:var(--bg);padding:12px 15px}#globalPeopleResults{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;background:white;border:1px solid var(--line);box-shadow:0 12px 35px #10355328;border-radius:14px;max-height:none;overflow:visible;padding:6px}#globalPeopleResults button{width:100%;text-align:left;border:0;padding:11px 13px;display:block}#globalPeopleResults small{display:block;color:var(--muted);font-weight:400}header{gap:12px;flex-wrap:wrap}.card{border-top:3px solid color-mix(in srgb,var(--yellow) 65%,white)}.page-head{gap:16px}.toolbar{gap:12px}.profile-card,.stat{border-top:3px solid var(--yellow)}@media(max-width:1000px){.global-people-search{order:3;max-width:none;flex-basis:100%;margin:0}.header-actions{flex-wrap:wrap}.availability-weekday{gap:10px}}

.group-catalog{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:18px 0}.group-catalog label{padding:14px;border-radius:12px;background:color-mix(in srgb,var(--blue) 5%,white);border-left:4px solid var(--yellow)}.group-catalog select{width:100%}.group-assignments{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:12px}.mini-actions{margin-top:18px}.mini-facts strong{overflow-wrap:anywhere}.filter-bar{align-items:center;flex-wrap:wrap}.filter-bar input{min-width:200px;flex:1}.filter-bar select{max-width:320px}.saved-table .day-button{min-height:90px}#editBody .grid{row-gap:18px}.card>details{margin-top:14px}button,summary{transition:background-color .15s,border-color .15s}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

.selection-toolbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap;background:color-mix(in srgb,var(--yellow) 14%,white);border:1px solid var(--line);border-radius:14px;padding:16px;margin:16px 0}.selection-toolbar label{flex:1;min-width:240px}.selection-toolbar input{width:100%}.selection-toolbar>span{align-self:center;color:var(--muted);font-size:13px}.person-select{vertical-align:middle;margin:0 8px 0 0;width:19px;height:19px}.employee-department{line-height:1.4}.schedule-grid td:first-child{min-width:260px;max-width:340px}#restoreSaved{margin-bottom:16px}

.filter-bar{display:flex;align-items:center;gap:10px}.filter-bar>input,.filter-bar>select,.filter-bar>#resetFilters{height:44px;margin:0;line-height:normal}.filter-bar>#resetFilters{flex-shrink:0;white-space:nowrap;padding:0 16px}.filter-count{align-self:center}.global-person-result{display:flex;align-items:center;gap:8px;padding-left:8px}#globalPeopleResults .global-person-result button{flex:1;min-width:0}.month-person-heading{margin-bottom:18px}.saved-shift{cursor:default;min-width:145px;margin:3px 0}.toolbar:has(#savedSelect){align-items:flex-end}.toolbar #clearSavedFilters{height:44px;margin-bottom:0}.day-comparison td{white-space:normal}

/* Let the document grow instead of nesting vertical scroll areas. */
.shell{max-width:none}.table-wrap,.schedule-grid,.strike-list,.filter-options,.department-editor,#peopleChoices,.catalog-list,.day-comparison{max-height:none;height:auto!important;overflow:visible!important}nav{flex-wrap:wrap;overflow:visible}.expanded-filters{margin:14px 0;padding:18px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.selected-filter-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 18px}.selected-filter-summary>strong{width:100%}.empty-filter-message{padding:18px;border-radius:12px;background:#fff2c9;color:#674b13;font-weight:650}.month{grid-template-columns:repeat(7,minmax(145px,1fr));overflow:visible;align-items:stretch}.month>div{min-width:0}.month .day-button{min-height:130px;overflow-wrap:anywhere}.month .day-tools{gap:4px}.month .day-tools button{flex:1;padding:7px 5px}.delete-calendar-shift{display:block;width:100%;margin-top:6px;color:#a13846;background:#fff1f2;font-size:12px}.group-catalog-item{padding:16px;border:1px solid var(--line);border-radius:12px}.group-job-list{font-size:12px;color:var(--muted);margin:10px 0;overflow-wrap:anywhere}.filter-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.schedule-controls h3{margin-bottom:16px}.table-wrap table{min-width:100%}header{height:auto;min-height:104px}#globalPeopleResults{max-height:none}.month-person-heading .employee-department{margin-bottom:12px}dialog{max-height:none;position:absolute;margin:24px auto;top:0;overflow:visible}body:has(dialog[open]){overflow:visible}

.schedule-profile-toolbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-left:4px solid var(--yellow);border-radius:12px;padding:10px 14px;margin-bottom:10px;box-shadow:0 3px 12px #10355312}.schedule-profile-toolbar strong{flex:1;font-size:17px}.profile-schedule-summary{font-size:12px;color:var(--muted);margin:8px 0 14px}.schedule-grid .day-button.limit-violation{background:#fee2e2;border-left-color:#c62828;color:#8d2020}.limit-violation strong,.limit-violation .conflict{color:#8d2020}#clearFilterCategory{margin:0 0 14px}.filter-options{margin-top:10px}.uniform-frame{height:auto;min-height:850px}.schedule-profile-toolbar~.card{padding:14px}.schedule-profile-toolbar~.card .day-button{min-height:104px}.month-head{padding:8px;background:var(--soft);border-radius:6px}

.selected-filter-summary{justify-content:flex-end;text-align:right}.filter-number{display:inline-block;min-width:24px;border-radius:20px;padding:1px 7px;background:var(--soft);color:var(--blue);margin-left:5px}.strike-person-search{flex:1;min-width:240px}.strike-person-search input{width:100%;padding:13px}dialog{bottom:auto;max-height:none!important;overflow:visible!important}#editBody,#editForm{max-height:none!important;overflow:visible!important}

.uniform-frame{min-height:0!important;display:block;width:100%;border:0}.settings-panel>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:20px;font-weight:700;margin-bottom:16px}.settings-panel:not([open])>summary{margin:0}.panel-toggle:after{content:"Expand +";font-size:13px}.settings-panel[open]>.panel-toggle:after,.settings-panel[open]>summary>.panel-toggle:after{content:"Minimize −"}.job-setting-group{padding:10px 0;border-bottom:1px solid var(--line)}

/* Shared alignment and theme contrast */
.toolbar,.filter-bar,.selection-toolbar{align-items:flex-end;gap:12px}.toolbar>button,.filter-bar>button,.selection-toolbar>button{min-height:42px}.catalog-row{display:flex;align-items:center;gap:10px}.catalog-row>span:first-child{flex:1;min-width:0}.day-tools,.month .day-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 34px;gap:4px;align-items:stretch}.day-tools button,.month .day-tools button{margin:0!important;min-width:0;min-height:34px;padding:6px 2px;white-space:nowrap}.schedule-grid .cal-cell{min-width:200px}.card,.expanded-filters,.schedule-controls{border-color:color-mix(in srgb,var(--blue) 28%,white);box-shadow:0 3px 12px color-mix(in srgb,var(--blue) 8%,transparent)}.filter-bar,.selection-toolbar,.schedule-subnav{padding:14px;border:1px solid color-mix(in srgb,var(--blue) 28%,white);border-top:3px solid var(--yellow);border-radius:12px;background:color-mix(in srgb,var(--blue) 7%,white)}#app tbody tr:nth-child(even)>td{background:color-mix(in srgb,var(--blue) 7%,white)}#app tbody tr:nth-child(odd)>td{background:white}#app th{background:color-mix(in srgb,var(--blue) 16%,white);color:var(--ink)}.schedule-grid .day-button.available{background:color-mix(in srgb,var(--yellow) 23%,white);color:var(--ink);border-left-color:var(--yellow)}.schedule-grid .day-button.limited{background:color-mix(in srgb,var(--blue) 16%,white);border-left-color:var(--blue)}.schedule-grid .day-button.unavailable{background:#fde8e8;border-left-color:#b83e51;color:#852b3b}.operating-editor{max-width:960px}.operating-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:18px 0}.operating-day{min-height:78px;padding:8px;text-align:left}.operating-day strong,.operating-day small{display:block}.operating-day small{font-size:11px;white-space:normal}.operating-day.is-open{background:color-mix(in srgb,var(--blue) 13%,white);border-color:var(--blue)}.operating-day.is-closed{background:#fde8e8;color:#852b3b}.operating-day.chosen{outline:3px solid var(--yellow)}.operating-nav{justify-content:space-between;align-items:center}.operating-form{padding:16px;background:var(--bg);border-radius:12px}@media(max-width:600px){.operating-month{gap:3px}.operating-day{padding:4px}.toolbar>label,.filter-bar>label{flex:1 1 180px}}

/* Schedule workspace inspired by the observed Paycor layout. */
header{min-height:78px;padding:10px 24px}.brand img{width:90px}.brand strong{font-size:21px}.shell>nav{padding:8px 20px 0}.shell>main{padding:20px}.page-head{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.page-head h1{font-size:25px}.page-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.schedule-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.schedule-sidebar{background:color-mix(in srgb,var(--blue) 5%,white);border:1px solid var(--line);border-radius:12px}.schedule-sidebar .schedule-controls{padding:14px;margin:0;border:0;box-shadow:none;background:transparent}.schedule-sidebar h3{font-size:15px}.schedule-sidebar .filter-bar{display:flex;flex-direction:column;align-items:stretch;padding:0;background:transparent;border:0}.schedule-sidebar .filter-bar>*{width:100%;min-width:0!important;max-width:none}.schedule-sidebar .expanded-filters{padding:10px 0;border:0;background:transparent}.schedule-sidebar .expanded-filters h3{font-size:14px}.schedule-sidebar .filter-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px}.schedule-sidebar .filter-tabs button{padding:7px;font-size:12px}.schedule-sidebar .filter-options{grid-template-columns:1fr;gap:8px}.schedule-sidebar .selected-filter-summary{font-size:11px;text-align:left;justify-content:flex-start}.schedule-main{min-width:0}.schedule-main .selection-toolbar{margin-bottom:12px;padding:10px}.schedule-main .selection-toolbar label{min-width:110px;flex:1}.schedule-main .selection-toolbar input{width:100%}.schedule-main .selection-toolbar>span{font-size:11px}.schedule-main>.toolbar{background:white;padding:10px;border-bottom:1px solid var(--line);margin-bottom:10px}.schedule-main .schedule-grid{border-radius:5px;border-top:3px solid var(--yellow)}.schedule-main .schedule-grid table{table-layout:fixed}.schedule-main .schedule-grid th,.schedule-main .schedule-grid td{min-width:0;padding:8px 5px;border-right:1px solid var(--line)}.schedule-main .schedule-grid th:first-child,.schedule-main .schedule-grid td:first-child{width:190px;min-width:0;position:static}.schedule-main .schedule-grid th:last-child,.schedule-main .schedule-grid td:last-child{width:65px}.schedule-main .schedule-grid .cal-cell{min-width:0;vertical-align:top}.schedule-main .schedule-grid .day-button{min-height:84px;padding:9px 7px;font-size:13px;border-radius:5px}.schedule-main .schedule-grid .day-button strong{font-size:15px;margin:4px 0}.schedule-main .schedule-grid .day-button small{font-size:11px}.schedule-main .availability-caption{font-size:10px}.schedule-main .day-tools{grid-template-columns:repeat(3,minmax(0,1fr)) 25px;gap:2px}.schedule-main .day-tools button{padding:4px 1px;font-size:10px;min-height:27px}.schedule-main .job-tags{gap:3px}.schedule-main .job-tag{font-size:9px;padding:2px 4px}.schedule-main .week-actions button{font-size:9px;padding:3px}.schedule-main .employee-department{font-size:11px}.schedule-workspace.filters-hidden{grid-template-columns:minmax(0,1fr)}.schedule-workspace.filters-hidden .schedule-sidebar{display:none}@media(max-width:1250px){.schedule-workspace{grid-template-columns:210px minmax(0,1fr)}.schedule-main .schedule-grid th:first-child,.schedule-main .schedule-grid td:first-child{width:155px}.schedule-main .day-tools{display:flex;flex-wrap:wrap}.schedule-main .day-tools button{flex:1}.schedule-main .schedule-grid .day-button strong{font-size:12px}}@media(max-width:950px){.schedule-workspace{grid-template-columns:1fr}.schedule-sidebar .filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-sidebar .filter-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.schedule-main .schedule-grid table{table-layout:auto}.schedule-main .schedule-grid .cal-cell{min-width:130px}}

.employee-week-hours{font-size:12px;font-weight:750;color:var(--blue);padding:4px 0}.employee-week-hours.hours-warning{color:#a02138}.draft-pending>.day-button{box-shadow:inset 0 0 0 2px var(--yellow)}.draft-exported>.day-button{opacity:.72}.draft-exported:hover>.day-button{opacity:1}.shift-save-state{display:block;font-size:10px;font-weight:700;padding:3px;color:var(--muted)}.draft-pending .shift-save-state{color:var(--ink)}.schedule-main .month{grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-main .month .day-button{min-height:100px}.schedule-main .toolbar>strong{font-size:17px}

#view>.page-head{position:sticky;top:0;z-index:35;background:var(--bg);padding:12px 0;margin-bottom:14px;box-shadow:0 4px 6px color-mix(in srgb,var(--blue) 6%,transparent)}.schedule-command-bar{position:sticky;top:var(--pinned-heading,84px);z-index:25;background:var(--bg);padding:4px 0 8px;box-shadow:0 4px 6px color-mix(in srgb,var(--blue) 6%,transparent)}.schedule-command-bar .selection-toolbar,.schedule-command-bar .toolbar{margin-bottom:6px}.schedule-main .schedule-grid thead th{top:calc(var(--pinned-heading,84px) + var(--pinned-commands,210px));z-index:20}#view:not([data-page="schedule"])>.filter-bar{position:sticky;top:var(--pinned-heading,84px);z-index:24;background:var(--bg)}@media(max-width:700px){.schedule-command-bar{position:static}.schedule-main .schedule-grid thead th{top:var(--pinned-heading,84px)}}

.month .day-button>span,.month .day-button>small{display:block;margin-top:5px;line-height:1.4}.month .day-button{display:block;text-align:left}.month .outside{opacity:1;background:color-mix(in srgb,var(--blue) 4%,white);border-radius:8px}.month .outside .day-button>strong{color:var(--muted)}.month .outside button{pointer-events:auto}.schedule-grid tbody tr.schedule-row-warning>td{background:#fde5e8!important;border-bottom-color:#edb7c1!important}.schedule-grid tbody tr.schedule-row-warning>td:first-child{border-left-color:#b52c48!important}.week-summary{vertical-align:top!important;font-weight:700}.week-warning{display:block;color:#ac2540;font-size:19px;cursor:help}.week-warning small{display:none;position:absolute;right:6px;background:#fff1f3;color:#86233a;border:1px solid #df9eac;padding:10px;border-radius:8px;z-index:22;font-size:12px;min-width:160px}.week-warning:hover small,.week-warning:focus small{display:block}.schedule-main .selection-toolbar .name-sort-control{flex:0 1 145px}.schedule-main .selection-toolbar label{font-size:12px}.schedule-main .selection-toolbar select{padding:9px;border-radius:8px}.draft-day .day-button small,.draft-day .day-button .availability-caption{color:inherit}.schedule-row-warning .draft-exported>.day-button{opacity:1}

.error-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.error-summary strong{flex:1}.copy-issues li{margin-bottom:14px}.copy-issues p{margin:4px 0;color:var(--muted)}

#advancedFilters.filter-controls{border:0;background:transparent;box-shadow:none;padding:0;margin:8px 0}.filter-controls .selected-filter-summary{margin:8px 0;font-size:12px}.schedule-sidebar .filter-controls .filter-options{grid-template-columns:1fr}

#view>.page-head,.schedule-command-bar,#view>.filter-bar,.schedule-profile-toolbar{background:color-mix(in srgb,var(--blue) 4%,white)!important;opacity:1;backdrop-filter:none}#app th,#app tfoot td,#app tfoot th{background:color-mix(in srgb,var(--blue) 14%,white)!important;opacity:1}.expired-cert,.training-button.expired{background:#ffe2e6!important;color:#91233b!important;border-color:#bd344c!important}.certification-chips>span{padding:10px;border:2px solid var(--line);border-radius:10px}.cert-duration{display:block;font-size:12px;font-weight:500;color:var(--muted);margin:4px 0}.expiry-notice{display:flex;justify-content:space-between;gap:14px;width:100%;margin:8px 0;text-align:left}#editBody details[data-collapsible]{border:1px solid var(--line);padding:14px;border-radius:10px;margin:12px 0}#editBody details[data-collapsible]>summary{font-weight:700;cursor:pointer;margin-bottom:8px}

.searchable-filter{position:relative;min-width:170px;background:white;border:1px solid var(--line);border-radius:9px}.searchable-filter>summary{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;font-weight:650;font-size:13px}.searchable-filter>summary span{color:var(--blue);font-size:12px}.filter-dropdown-body{padding:10px;border-top:1px solid var(--line);background:white}.filter-dropdown-body>input{width:100%;margin-bottom:8px}.filter-dropdown-body>button{font-size:12px;padding:5px 8px;margin-bottom:8px}.filter-dropdown-options{display:grid;gap:8px}.filter-dropdown-options label{padding:5px;line-height:1.4}.filter-dropdown-options label:hover{background:color-mix(in srgb,var(--blue) 9%,white)}.filter-dropdown-options [hidden]{display:none!important}.filter-bar>.searchable-filter{align-self:flex-start}.schedule-sidebar .searchable-filter{width:100%}#view>.page-head,#view>.filter-bar,.schedule-command-bar,.schedule-profile-toolbar{isolation:isolate;background:color-mix(in srgb,var(--blue) 4%,white)!important;box-shadow:0 4px 8px #00000012}#app thead th{background:color-mix(in srgb,var(--blue) 14%,white)!important;color:var(--ink)}

/* Full-width mini-profile jobs and directly editable certification cards. */
.mini-jobs{display:flex;flex-wrap:wrap;gap:8px;width:100%;max-width:none;margin:18px 0 22px}.mini-jobs .job-tag{max-width:100%;white-space:normal;padding:8px 12px;line-height:1.35}
button.mini-notes{display:block;width:100%;text-align:left;white-space:pre-wrap;background:var(--bg);border:1px dashed var(--border);padding:16px;margin:18px 0;color:var(--text);line-height:1.5}
.profile-training-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.profile-training-heading h3{margin:0}.cert-add{font-size:24px;min-width:42px;min-height:42px;line-height:1}
.profile-cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.profile-cert-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:18px;text-align:left;border:1px solid color-mix(in srgb,var(--cert-color) 45%,white);border-left:5px solid var(--cert-color);background:color-mix(in srgb,var(--cert-color) 12%,white);color:var(--text);border-radius:14px}.profile-cert-card strong{font-size:17px}.profile-cert-card.expired-cert{background:#fee2e2!important;border-color:#dc2626!important;color:#991b1b!important}

.filter-result{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:11px 13px;border:0;border-radius:8px;background:white}.filter-result[aria-pressed="true"]{background:var(--soft);color:var(--blue)}.filter-dropdown-options{display:grid;grid-template-columns:1fr;gap:4px;max-height:none;overflow:visible}.person-search-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.person-search-results button{text-align:left;display:grid;gap:5px;padding:14px}.person-search-results small{font-weight:400;color:var(--muted)}.person-search-results span{color:var(--blue);font-size:12px}.profile-cert-card,button.mini-notes{color:var(--ink)}button.mini-notes{border-color:var(--line)}

.schedule-side-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.name-sort-icon{padding:4px 8px;margin-left:6px;font-size:18px;line-height:1.2}.schedule-workspace.filters-hidden{grid-template-columns:minmax(0,1fr)}.schedule-workspace.filters-hidden .schedule-sidebar{display:none}

/* Stack frozen elements using their measured rendered heights. */
#view{--pinned-heading:0px;--pinned-commands:0px;--pinned-filters:0px;--pinned-profile:0px}
#view .table-wrap thead th{position:sticky;top:calc(var(--pinned-heading) + var(--pinned-filters) + var(--pinned-profile));z-index:20}
#view .schedule-main .schedule-grid thead th{position:sticky;top:calc(var(--pinned-heading) + var(--pinned-commands));z-index:20}
#view .pinned-too-tall{position:static!important}
#view>.page-head{align-items:center;flex-wrap:wrap;gap:10px;padding:10px 0}#view>.page-head>div{min-width:0}#view>.page-head>div:last-child{align-items:center}#view>.page-head h1{line-height:1.2}#view>.page-head p{font-size:13px;line-height:1.4}
.schedule-command-bar .toolbar{align-items:center}.schedule-command-bar .toolbar .small{flex:1 1 220px;line-height:1.35}.schedule-grid{scroll-margin-top:calc(var(--pinned-heading) + var(--pinned-commands) + 60px)}
@media(max-height:650px){#view>.filter-bar{position:static!important}.schedule-command-bar .toolbar .small{display:none}}

.cert-rule-options{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0 14px}.cert-rule-options button{font-size:12px;padding:6px 8px}.cert-rule-options button[aria-pressed="true"]{background:var(--blue);color:white}

.cert-date-control{margin:0;padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0}.cert-date-control legend{font-weight:700;padding:0 5px}.cert-date-control>div{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:8px}.cert-date-control input,.cert-date-control select{width:100%;min-width:0}.cert-date-control>button{margin-top:8px;font-size:12px}.cert-record-heading{display:flex;align-items:center;gap:10px;margin-top:22px}.cert-record-heading h3{margin:0;flex:1}.cert-record-list>div{display:flex;gap:8px;margin-top:8px}.cert-record-list>div>button:first-child{flex:1;text-align:left}.cert-record-list small,.cert-completion-dates span{display:block;margin-top:5px}.cert-record-list [data-delete-cert-entry],#deleteEntireCert{color:#a32939;background:#fff0f1}.cert-completion-dates{display:grid;gap:4px}@media(max-width:550px){#editBody .grid:has(.cert-date-control){grid-template-columns:1fr}}
/* Only filter choices scroll; search and clearing controls stay visible. */
.searchable-filter .filter-dropdown-options{max-height:260px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}
.searchable-filter:has(.cert-filter) .filter-dropdown-body{max-height:300px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}

.profile-cert-item{position:relative;min-width:0}.profile-cert-item>.profile-cert-card{width:100%;height:100%;padding-right:55px}.cert-trash{position:absolute;right:9px;top:9px;padding:7px;color:#9b2638;background:white}

/* Global header stays above all page-level sticky controls and search results. */
:root{--app-header-height:78px}#app>header{position:sticky;top:0;z-index:100;isolation:isolate;overflow:visible}#globalPeopleResults{z-index:110;max-height:min(420px,60vh);overflow-y:auto;overscroll-behavior:contain}
#view>.page-head{top:var(--app-header-height)}.schedule-profile-toolbar{top:var(--app-header-height)}.schedule-command-bar{top:calc(var(--app-header-height) + var(--pinned-heading))}#view:not([data-page="schedule"])>.filter-bar{top:calc(var(--app-header-height) + var(--pinned-heading))}
#view .table-wrap thead th{top:calc(var(--app-header-height) + var(--pinned-heading) + var(--pinned-filters) + var(--pinned-profile))}#view .schedule-main .schedule-grid thead th{top:calc(var(--app-header-height) + var(--pinned-heading) + var(--pinned-commands))}
.week-actions button,.schedule-main .week-actions button{font-size:12px;padding:7px 10px;min-height:34px;border-radius:8px}.week-actions button:disabled{opacity:.4;background:#edf0f3;color:#64748b;cursor:not-allowed}
.settings-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.settings-columns>div{min-width:0}.settings-columns .settings-panel{height:auto;margin-bottom:18px}.settings-panel:not([open]){padding-top:18px;padding-bottom:18px}@media(max-width:850px){.settings-columns{grid-template-columns:1fr}}

.training-cell-tools{display:flex;align-items:center;gap:6px}.copy-certification{opacity:0;pointer-events:none;padding:6px 9px;font-size:12px}.training-cell-tools:hover .copy-certification,.training-cell-tools:focus-within .copy-certification{opacity:1;pointer-events:auto}.copy-certification:focus-visible{opacity:1;pointer-events:auto}.checklist-bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px;margin:14px 0;background:var(--soft);border:1px solid var(--line);border-radius:12px}.checklist-bulk-toolbar>span{flex:1;min-width:180px;font-size:13px}[data-checklist-person]{vertical-align:middle;margin-right:8px}@media(hover:none){.copy-certification{opacity:1;pointer-events:auto}}

/* Menus overlay content without increasing their filter bar's height. */
.searchable-filter[open]{z-index:60}.searchable-filter .filter-dropdown-body{position:absolute;top:calc(100% + 5px);left:0;width:max(100%,240px);max-width:min(360px,85vw);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px #102f4828;z-index:60}.filter-bar{align-items:center}.filter-bar>.searchable-filter{align-self:center}.schedule-sidebar{position:relative;z-index:26}.filter-bar{overflow:visible}
:root{--app-nav-height:58px}.shell>nav{position:sticky;top:var(--app-header-height);z-index:90;background:white}
#view>.page-head,.schedule-profile-toolbar{top:calc(var(--app-header-height) + var(--app-nav-height))}.schedule-command-bar,#view:not([data-page="schedule"])>.filter-bar{top:calc(var(--app-header-height) + var(--app-nav-height) + var(--pinned-heading))}
#view .table-wrap thead th{top:calc(var(--app-header-height) + var(--app-nav-height) + var(--pinned-heading) + var(--pinned-filters) + var(--pinned-profile))}#view .schedule-main .schedule-grid thead th{top:calc(var(--app-header-height) + var(--app-nav-height) + var(--pinned-heading) + var(--pinned-commands))}
#view[data-page="training"] td{padding:10px 12px;vertical-align:middle;height:auto}#view[data-page="training"] .employee-department{margin:3px 0;font-size:11px}#view[data-page="training"] .training-button{padding:8px 10px}#view[data-page="training"] .training-cell-tools{gap:5px}.checklist-cert-trash{padding:6px 8px;background:#fff0f1;color:#a32939;font-size:12px}

.settings-user-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin:16px 0}.settings-user-card{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:1px solid var(--line);border-left:5px solid var(--user-color);border-radius:12px;padding:14px;background:color-mix(in srgb,var(--user-color) 8%,white)}.user-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--user-color);color:white;font-weight:750}.settings-user-card small{display:block;color:var(--muted)}.user-card-actions{display:flex;gap:6px;margin-left:auto}.user-card-actions button{padding:7px 10px;font-size:12px}

.schedule-sidebar{position:sticky;top:calc(var(--app-header-height) + var(--app-nav-height) + var(--pinned-heading) + 8px);align-self:start}.schedule-sidebar .schedule-controls{border-top:4px solid var(--yellow);border-radius:12px;background:color-mix(in srgb,var(--blue) 6%,white)}h1,h2,h3,.shell>nav button,.schedule-subnav button,.settings-panel>summary{text-transform:capitalize}.schedule-subnav{border-top-color:var(--yellow);background:color-mix(in srgb,var(--blue) 10%,white)}.settings-panel>summary{color:var(--blue)}@media(max-width:950px){.schedule-sidebar{position:static}}

.audit-search{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:14px}.audit-search label:last-of-type{flex:1;min-width:220px}#auditResults pre{white-space:pre-wrap;overflow-wrap:anywhere}.audit-search input,.audit-search select{width:100%}

.account-menu{position:relative}.account-menu>summary{cursor:pointer;list-style:none;padding:10px 14px;background:white;border-radius:10px;color:var(--blue);font-size:20px}.account-menu-panel{position:absolute;right:0;top:calc(100% + 7px);width:200px;padding:8px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #102f4833;z-index:120}.account-menu-panel button{display:block;width:100%;text-align:left;margin:3px 0}.operating-selection{padding:12px;background:var(--soft);border-radius:12px}.operating-day.chosen{outline:3px solid var(--yellow);box-shadow:inset 0 0 0 2px var(--blue)}

/* Readable header controls and compact, contained filter menus. */
#app .header-actions>button,#app .account-menu>summary{background:#fff;color:#19374e;border:1px solid #c5d4df;opacity:1}
#app .header-actions>button:hover,#app .header-actions>button:focus-visible,#app .account-menu>summary:hover{background:#e6eef5;color:#103553;border-color:#7995aa}
#app .header-actions svg{opacity:1;visibility:visible;flex-shrink:0}
.global-people-search{max-width:560px;min-width:260px}
.global-people-search input{min-height:48px;padding:13px 38px 13px 46px;font-size:16px;background:#fff;color:#19374e;border:1px solid #a7becf;box-shadow:0 2px 5px #102f481a}
.search-magnifier{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#45667e;pointer-events:none}
.searchable-filter,.searchable-filter *{box-sizing:border-box;min-width:0}
.searchable-filter .filter-dropdown-body{width:100%;max-width:100%;padding:9px;background:#fff}
.searchable-filter .filter-dropdown-body>input{min-width:0!important;max-width:100%;width:100%;font-size:13px;padding:9px}
.searchable-filter .filter-dropdown-options{gap:3px;max-height:230px}
.searchable-filter .filter-result{padding:9px 10px;font-size:13px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;color:var(--ink)}
.searchable-filter .filter-result:hover{background:color-mix(in srgb,var(--blue) 10%,white)}
.searchable-filter .filter-result[aria-pressed="true"]{background:color-mix(in srgb,var(--blue) 16%,white);box-shadow:inset 3px 0 var(--blue);color:var(--ink)}
.searchable-filter>summary{background:color-mix(in srgb,var(--blue) 5%,white);border-radius:9px;color:var(--ink)}
.searchable-filter[open]>summary{background:color-mix(in srgb,var(--blue) 12%,white)}
.schedule-sidebar{background:color-mix(in srgb,var(--blue) 7%,white);border-color:color-mix(in srgb,var(--blue) 24%,white)}
#view>.page-head{border-bottom:2px solid color-mix(in srgb,var(--blue) 22%,white);padding-bottom:12px}
@media(max-width:1000px){.global-people-search{max-width:none;min-width:0}}

.profile-overview{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.profile-overview>.card{min-width:0}.profile-overview .mini-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-overview .mini-facts>div{min-width:0;padding:12px;border-radius:10px;background:color-mix(in srgb,var(--blue) 6%,white)}.profile-overview strong{overflow-wrap:anywhere}.profile-overview .card>button{margin:0 5px 8px 0}.profile-overview:not(:has(.private-details)){grid-template-columns:1fr}@media(max-width:850px){.profile-overview{grid-template-columns:1fr}}

/* Operating calendar selection controls: aligned actions and a separate hint. */
.operating-selection{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px 12px;padding:14px 16px}
.operating-selection>strong{display:flex;align-items:center;min-height:42px;margin:0 6px 0 0;font-size:14px;line-height:1.3}
.operating-selection>button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:10px 16px;font-size:14px;line-height:1.3;white-space:normal}
.operating-selection>.small{flex:0 0 100%;margin:0;padding-top:2px;font-size:12px;line-height:1.5}
@media(max-width:600px){.operating-selection>strong{flex-basis:100%;min-height:24px}.operating-selection>button{flex:1 1 140px}}

/* Attendance uses document scrolling; an overflow ancestor misplaces sticky headings. */
#attendance-workspace .attendance-group{overflow:visible;border-color:color-mix(in srgb,var(--attendance-job-color,var(--blue)) 40%,white)}
#attendance-workspace .attendance-group>summary{background:color-mix(in srgb,var(--attendance-job-color,var(--blue)) 18%,white);color:var(--ink);border-left:6px solid var(--attendance-job-color,var(--blue));border-radius:10px 10px 0 0;padding:14px 16px}
#view #attendance-workspace .table-wrap{overflow:visible}
#view #attendance-workspace thead th,#view #attendance-workspace thead th:first-child{position:sticky;top:calc(var(--app-header-height,0px) + var(--app-nav-height,0px) + var(--pinned-heading,0px));z-index:20;background:color-mix(in srgb,var(--attendance-job-color,var(--blue)) 12%,white)!important;color:var(--ink);border-bottom:2px solid var(--attendance-job-color,var(--blue));padding:12px;white-space:nowrap}
#view #attendance-workspace tbody tr>td{background:#fff}
#view #attendance-workspace tbody tr.attendance-no_punch>td{background:#ffe4e8!important}
#view #attendance-workspace tbody tr.early-arrival>td{background:#fff2bd!important}
#view #attendance-workspace tbody tr.attendance-no_punch>td:first-child{box-shadow:inset 4px 0 #c8324d}
#view #attendance-workspace tbody tr.early-arrival>td:first-child{box-shadow:inset 4px 0 #d39a0a}

.attendance-import{padding:26px}.attendance-import label{font-size:15px;gap:9px}.attendance-import input{min-height:46px;font-size:15px}.attendance-import .small{font-size:13px}.attendance-import #compareAttendance{font-size:16px;padding:12px 20px}
#attendance-workspace .attendance-sticky-controls{position:sticky;top:calc(var(--app-header-height,0px) + var(--app-nav-height,0px) + var(--pinned-heading,0px));z-index:25;background:white;padding:12px 0;border-bottom:1px solid var(--line)}
#view #attendance-workspace thead th,#view #attendance-workspace thead th:first-child{top:calc(var(--app-header-height,0px) + var(--app-nav-height,0px) + var(--pinned-heading,0px) + var(--pinned-attendance,0px))}
#attendance-workspace .attendance-department-tabs button{border:1px solid var(--department-color);background:color-mix(in srgb,var(--department-color) 10%,white);color:#19374e;box-shadow:inset 0 -3px var(--department-color)}
#attendance-workspace .attendance-department-tabs button.active{background:var(--department-color);color:white}
.attendance-add-strike{opacity:0;pointer-events:none;font-size:12px;padding:5px 8px;margin-left:8px}tr:hover .attendance-add-strike,tr:focus-within .attendance-add-strike,.attendance-add-strike:focus-visible{opacity:1;pointer-events:auto}@media(hover:none){.attendance-add-strike{opacity:1;pointer-events:auto}}

body:has(#editor.permissions-editor[open]){overflow:hidden}#editor.permissions-editor{position:fixed!important;top:24px!important;bottom:auto!important;margin:0 auto!important;max-height:calc(100dvh - 48px)!important;overflow:hidden!important}#editor.permissions-editor #editForm{max-height:calc(100dvh - 100px);display:flex;flex-direction:column;min-height:0}#editor.permissions-editor #editBody{overflow-y:auto!important;overscroll-behavior:contain;min-height:0;padding:4px 10px 12px 0}#editor.permissions-editor .dialog-actions{flex-shrink:0;background:white;padding-top:12px}

.day-button.is-closed{background:#ffe4e8!important;color:#97283e!important;border:1px solid #e2a1ae!important}
.checklist-table table{table-layout:fixed}.checklist-table th:first-child,.checklist-table td:first-child{width:240px;min-width:0}.checklist-table th,.checklist-table td{padding:12px 10px;overflow-wrap:anywhere}.checklist-table .training-cell-tools{flex-wrap:wrap;gap:5px}.checklist-table .training-button{min-width:0;max-width:100%}
.filter-bar>.searchable-filter:has(.cert-filter){min-width:230px}.searchable-filter:has(.cert-filter) .filter-dropdown-body{width:360px;max-width:calc(100vw - 40px);max-height:420px}.schedule-sidebar .searchable-filter:has(.cert-filter) .filter-dropdown-body{width:100%}.cert-filter{padding:10px!important;margin-bottom:6px}.cert-rule-options{display:flex;flex-wrap:wrap;gap:6px}.cert-rule-options button{padding:7px 10px;font-size:13px}
#strikeYear,#strikeOrder{min-width:150px;min-height:44px}#strikeOrder{background:var(--soft);color:var(--ink)}
#attendance-workspace .attendance-group>summary{background:color-mix(in srgb,var(--attendance-job-color,var(--blue)) 26%,white)}
@keyframes section-enter{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}#view>.page-head{animation:section-enter .18s ease-out}#view>.card,#view>.grid,#view>.table-wrap{animation:section-enter .2s ease-out}@media(prefers-reduced-motion:reduce){#view>*{animation:none!important}}

.home-updates{align-items:start}.home-update-item{display:grid;gap:3px;padding:12px 14px;margin:8px 0;border-left:4px solid var(--blue);border-radius:9px;background:var(--soft)}.home-update-item small{color:var(--muted)}.home-update-item .expiry-date{color:#a23b24;font-weight:650}
/* Slightly larger page headings across all sections. */
#view>.page-head{padding-top:14px;padding-bottom:16px;gap:18px}#view>.page-head h1{font-size:32px;line-height:1.2;margin-bottom:8px}#view>.page-head .eyebrow{font-size:12px}#view>.page-head p:not(.eyebrow){font-size:16px;line-height:1.5}@media(max-width:700px){#view>.page-head h1{font-size:28px}#view>.page-head p:not(.eyebrow){font-size:15px}}

.schedule-selection-tools{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.schedule-selection-tools button{font-size:12px;padding:7px}.schedule-cell-select{display:flex;flex-direction:row;align-items:center;gap:5px;font-size:11px;margin-bottom:5px}.closed-schedule-day{background:#f1e8fb;border:1px solid #bda1d8;border-radius:10px;padding:5px}.closed-schedule-day .availability-caption{display:block;background:#6d458c;color:white!important;border-radius:5px;padding:3px 5px}

.employee-status-tag{display:inline-block;vertical-align:middle;font-size:10px;font-weight:700;line-height:1.4;padding:3px 7px;border-radius:20px;margin-left:7px;white-space:nowrap}.employee-status-tag.is-active{background:#d9f3e6;color:#17623e;border:1px solid #98d2b2}.employee-status-tag.is-inactive{background:#ffe2e7;color:#9c243c;border:1px solid #e6a5b3}.attendance-add-strike.was-used{opacity:1;pointer-events:auto}

.strike-employee-table table{font-size:12px}.strike-employee-table td,.strike-employee-table th{padding:9px 12px}.strike-employee-table td:first-child{width:260px;min-width:180px}.strike-employee-table tbody tr{cursor:pointer}.strike-employee-table tbody tr:hover>td{background:var(--soft)}.strike-row-records{display:flex;flex-wrap:wrap;gap:6px}.strike-row-records>span{background:var(--soft);border:1px solid var(--line);border-radius:7px;padding:5px 8px;max-width:340px}.strike-row-records strong{display:block;font-size:11px}.strike-history-records section{padding:12px;border-bottom:1px solid var(--line)}.strike-history-records p{white-space:pre-wrap;margin:5px 0}.page-head h1 .employee-status-tag{font-size:11px;letter-spacing:0;vertical-align:middle}

.closed-schedule-day,.closed-calendar-day{background:#fff0d6!important;border:1px solid #e8ad56!important;border-radius:10px;padding:6px}.closed-schedule-day:not(.has-shift) .day-button,.closed-calendar-day .day-button.is-closed{background:#fff0d6!important;color:#784411!important;border-color:#e8ad56!important}.closed-schedule-day .availability-caption{background:transparent!important;color:#784411!important;padding:0;font-weight:700}.range-day-handle{font-size:11px;padding:5px 8px;margin-bottom:5px;touch-action:none;user-select:none}.range-day-handle.selected{background:var(--blue);color:white;box-shadow:0 0 0 2px var(--yellow)}.day-shell:has(.range-day-handle.selected){outline:2px solid var(--blue);border-radius:9px}.month-range-tools{padding:12px;background:var(--soft);border-radius:10px}.month-range-tools button{font-size:12px;padding:7px 10px}

.month .day-shell{user-select:none}.cal-cell:has(.closed-schedule-day),.cal-cell:has(.closed-calendar-day),.month>div:has(.closed-calendar-day){background:#fff0d6!important}.closed-schedule-day .day-tools button,.closed-calendar-day .day-tools button{border-color:#e8bd7c}

/* Reserve a right-hand status position instead of wrapping it below the name. */
.checklist-table td:first-child{position:relative;padding-right:76px!important;width:290px;min-width:0}.checklist-table th:first-child{width:290px;min-width:0}.checklist-table td:first-child>.employee-status-tag{position:absolute;right:10px;top:13px;margin:0;font-size:10px}.checklist-table td:first-child>.person{display:inline;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.checklist-table th,.checklist-table td{padding-top:9px;padding-bottom:9px}.checklist-table .training-button{font-size:11px;padding:8px}.checklist-table .employee-department{font-size:11px}.checklist-table [data-checklist-person]{width:15px;height:15px;margin-right:5px}

.month .weekday-header{text-align:left;font-weight:750;border:1px solid var(--line);cursor:pointer}.month .weekday-header:hover{background:color-mix(in srgb,var(--blue) 16%,white);border-color:var(--blue)}

.filter-panel-toggle{display:block;margin:0 0 9px auto;padding:5px 8px;font-size:11px;line-height:1.3;border-radius:7px}.filter-panel-reopen{padding:6px 9px;font-size:12px;margin-bottom:10px}

.schedule-employee-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.schedule-employee-heading .filter-panel-reopen{margin:0;padding:5px 7px;font-size:11px}

.go-date-control{display:grid;gap:5px;font-size:12px;font-weight:650}.go-date-control button{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 14px;background:white}.calendar-date-editor{width:420px!important;max-width:calc(100vw - 32px)!important}.date-picker-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.date-picker-nav button{font-size:22px;padding:4px 13px}.styled-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:15px;text-align:center}.styled-date-grid>span{font-size:11px;color:var(--muted);padding:6px 0}.styled-date-grid button{padding:9px 0;font-size:13px}.styled-date-grid button.outside{color:var(--muted);background:var(--bg)}.styled-date-grid button.chosen{background:var(--blue);color:white;border-color:var(--blue)}

.strike-year-control{display:grid;gap:6px;font-size:13px;font-weight:650}.strike-year-buttons{display:flex;flex-wrap:wrap;gap:5px}.strike-year-buttons button{padding:9px 13px;font-size:13px}.strike-year-buttons button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:white}

.strike-history-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.strike-history-heading>div{display:flex;gap:6px}.strike-history-heading button{padding:6px 10px;font-size:12px}[data-history-delete]{color:#a32740;background:#fff0f3}
/* Strike filters open as readable overlays rather than narrow button-width menus. */
#view[data-page="strikes"] .searchable-filter .filter-dropdown-body{width:340px;max-width:calc(100vw - 40px);padding:12px}
#view[data-page="strikes"] .searchable-filter .filter-dropdown-body>input{font-size:14px;padding:11px 12px}
#view[data-page="strikes"] .searchable-filter .filter-dropdown-options{max-height:340px;gap:4px}
#view[data-page="strikes"] .searchable-filter .filter-result{font-size:14px;padding:11px 12px;word-break:normal;overflow-wrap:normal;line-height:1.4}
#view[data-page="strikes"] .searchable-filter .filter-dropdown-body>button{white-space:nowrap;padding:7px 11px}

.employee-name-status{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;max-width:100%}.employee-name-status>.employee-status-tag{position:static!important;margin:0!important;flex-shrink:0}.employee-name-status>.person{min-width:0;white-space:normal;overflow-wrap:anywhere}.checklist-table td:first-child{padding-right:10px!important}.checklist-table .employee-name-status{max-width:calc(100% - 26px)}.checklist-table .employee-name-status>.person{font-size:12px;line-height:1.35}

/* Schedule navigation and selection remain visible without checkbox clutter. */
#scheduleTabs{position:sticky;top:calc(var(--app-header-height) + var(--app-nav-height));z-index:80;background:var(--bg)}
#view[data-page="schedule"],#view[data-page="calendar"],#view[data-page="legacy"]{--app-nav-height:calc(var(--base-nav-height,58px) + var(--schedule-tabs-height,0px))}
.schedule-day-selected{outline:3px solid var(--blue);outline-offset:-2px;box-shadow:0 0 0 3px var(--yellow);border-radius:10px;background:var(--soft)}
.closed-schedule-day.has-shift .availability-caption{background:#fff0d6!important;color:#784411!important;padding:3px 6px;border-radius:4px;margin-bottom:5px}

/* Keep employee identities clearly separated from weekly schedule days. */
.schedule-grid table>thead>tr>th:first-child,
.schedule-grid table>tbody>tr>td:first-child,
.schedule-grid table>tfoot>tr>th:first-child,
.schedule-grid table>tfoot>tr>td:first-child{
 border-right:3px solid color-mix(in srgb,var(--blue) 55%,var(--line));
 box-shadow:3px 0 5px color-mix(in srgb,var(--blue) 10%,transparent);
}

/* Compact scheduling controls leave more room for employee rows. */
#scheduleTabs .schedule-subnav{padding:8px 12px;margin-bottom:0;gap:7px}
#scheduleTabs>p{display:none}
#view[data-page="schedule"],#view[data-page="calendar"]{padding-top:8px}
#view[data-page="schedule"]>.page-head,#view[data-page="calendar"]>.page-head{padding:6px 0;margin-bottom:8px;min-height:0}
#view[data-page="schedule"]>.page-head .eyebrow,#view[data-page="calendar"]>.page-head .eyebrow{display:none}
#view[data-page="schedule"]>.page-head p:not(.eyebrow),#view[data-page="calendar"]>.page-head p:not(.eyebrow){display:none}
#view[data-page="schedule"]>.page-head h1,#view[data-page="calendar"]>.page-head h1{font-size:25px;margin:0}
.schedule-command-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:4px 0 6px}
.schedule-command-bar>.toolbar{margin:0;gap:7px;flex:1 1 480px}
.schedule-command-bar>.toolbar+ .toolbar{flex:0 1 auto}
.schedule-command-bar>.toolbar>.small.muted{display:none}
.schedule-command-bar .go-date-control{display:flex;align-items:center;gap:8px}
.schedule-command-bar button{padding:7px 10px}
.rehire-search-card{padding:12px 16px;margin-bottom:12px}
.rehire-search-card input{width:100%;font-weight:400}

.profile-strike-years{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.profile-strike-years button{display:flex;align-items:center;gap:12px;border-left:4px solid var(--blue);background:var(--soft);padding:12px 16px}.profile-strike-years small{color:var(--muted)}

.profile-overview{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.profile-contact-column{min-width:0}.profile-contact-column>.card{margin-bottom:12px}
.profile-certifications{padding:14px}.profile-certifications .profile-training-heading h3{font-size:15px;margin:0}.profile-certifications .profile-cert-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.profile-certifications .profile-cert-card{padding:9px 11px;min-height:0;font-size:12px}.profile-certifications .profile-cert-card strong{font-size:13px}.profile-certifications .cert-trash{padding:5px 7px}
.profile-overview .private-details{padding:24px}.profile-overview .private-details h2{font-size:24px}.profile-overview .private-details .mini-facts>div{padding:15px}.profile-overview .private-details .mini-facts small{font-size:13px}.profile-overview .private-details .mini-facts strong{display:block;font-size:16px;margin-top:5px}
@media(max-width:850px){.profile-overview{grid-template-columns:1fr}}

/* Strike dialogs contain their own scrolling and keep page position stable. */
html:has(#editor.strike-editor[open]),body:has(#editor.strike-editor[open]){overflow:hidden;overscroll-behavior:none}
#editor.strike-editor{position:fixed!important;top:24px!important;bottom:auto!important;margin:0 auto!important;max-height:calc(100dvh - 48px)!important;overflow:hidden!important}
#editor.strike-editor #editForm{display:flex;flex-direction:column;max-height:calc(100dvh - 100px);min-height:0}
#editor.strike-editor #editBody{overflow-y:auto!important;overscroll-behavior:contain;min-height:0;padding-right:12px}
#editor.strike-editor .dialog-head,#editor.strike-editor .dialog-actions{flex-shrink:0}
.strike-year-divider{padding:9px 12px;margin:18px 0 10px;background:var(--soft);color:var(--blue);border-bottom:2px solid var(--blue);border-radius:7px}
.strike-row-records>.strike-row-year{flex:0 0 100%;padding:5px 0;border-bottom:2px solid var(--line);color:var(--blue)}
.strike-year-control{min-width:165px;gap:7px}.strike-year-control select{width:100%;min-height:43px;border-radius:10px;font-weight:650}

.home-activity-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.home-activity-heading h2{margin:0}.home-activity-heading button{font-size:12px;white-space:nowrap}.home-activity-scroll{max-height:400px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.home-activity-scroll .home-update-item{min-height:80px;box-sizing:border-box;margin:0;padding:10px 8px;border-bottom:1px solid var(--line)}.home-activity-card{align-self:start}.all-activity-list .home-update-item{padding:12px 0;border-bottom:1px solid var(--line)}

.training-button.shallow-cert,.profile-cert-card.shallow-cert{background:#f6e3fa!important;color:#74278b!important;border-color:#cc85da!important;border-left-color:#b442c7!important}.shallow-cert small{color:#74278b}

.day-tools button[data-day-tool="delete"]:not(:disabled){opacity:1;color:#a3233c;background:#ffe5ea;border-color:#c95b70}.operating-month .operating-day.is-open{background:#e0f2fe;color:#164e73;border-color:#91c8ea}

/* Keep long histories and operating dates inside their dialog viewport. */
html:has(#editor.operating-editor[open]),body:has(#editor.operating-editor[open]){overflow:hidden!important;overscroll-behavior:none}
#editor.strike-editor,#editor.operating-editor{position:fixed!important;top:16px!important;bottom:auto!important;margin:0 auto!important;height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important;overflow:hidden!important;box-sizing:border-box}
#editor.strike-editor #editForm,#editor.operating-editor #editForm{display:flex!important;flex-direction:column;height:100%!important;max-height:100%!important;min-height:0;overflow:hidden}
#editor.strike-editor #editBody,#editor.operating-editor #editBody{flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding-right:10px}
#editor.strike-editor .dialog-head,#editor.strike-editor .dialog-actions,#editor.strike-editor #editError,#editor.operating-editor .dialog-head,#editor.operating-editor .dialog-actions,#editor.operating-editor #editError{flex:0 0 auto}
.selectable-person{cursor:pointer}.selectable-person:has(.person-select:checked){box-shadow:inset 0 0 0 3px var(--blue)}

.checklist-person{cursor:pointer}.checklist-person.chosen .person{display:inline-flex!important;align-items:center;gap:7px;flex:0 1 auto!important;width:fit-content!important;padding:5px 9px;border-radius:9px;background:color-mix(in srgb,var(--blue) 12%,white)!important;color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 35%,white)}
.checklist-person.chosen .person::before{content:"✓";font-size:12px;font-weight:750;flex-shrink:0}.checklist-person:focus-visible{outline:none}.checklist-person:focus-visible .person{outline:2px solid var(--blue);outline-offset:2px}
.day-tools button[data-day-tool="unavailable"],.day-tools button[data-day-tool="available"]{grid-row:2;grid-column:1/-1;font-weight:650}.day-tools button[data-day-tool="delete"]{grid-column:4;grid-row:1}
.day-tools,.month .day-tools,.schedule-main .day-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(80px,1.5fr) 30px;gap:4px}
.day-tools button[data-day-tool="unavailable"],.day-tools button[data-day-tool="available"]{grid-row:1;grid-column:3;font-size:11px}
.day-tools button[data-day-tool="copy"]{grid-row:1;grid-column:1}.day-tools button[data-day-tool="paste"]{grid-row:1;grid-column:2}

/* Compact personal calendar controls keep each complete day visible. */
.schedule-profile-toolbar{padding:7px 10px;margin-bottom:6px}.profile-schedule-summary{margin:4px 0 7px}
.schedule-profile-toolbar~.card{padding:10px}.schedule-profile-toolbar~.card .month{gap:6px;grid-template-columns:repeat(7,minmax(0,1fr))}
.schedule-profile-toolbar~.card .day-button,.person-month .day-button{min-height:84px!important;padding:8px!important;font-size:12px!important}
.schedule-profile-toolbar~.card .month>div{min-height:0}.month .day-tools button{font-size:10px;min-height:28px;padding:4px 2px}
.month .day-tools{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(62px,1.5fr) 24px;gap:2px}.month .day-button.selected{outline:3px solid var(--blue);outline-offset:-3px;background:color-mix(in srgb,var(--blue) 15%,white)}
#editor.strike-editor #editForm,#editor.operating-editor #editForm{overflow:hidden!important}

.date-range-button{border-color:transparent;background:transparent;font-weight:750;padding:7px 5px}.date-range-button:hover{border-color:var(--blue);background:var(--soft)}
#view .month{gap:6px}#view .month .day-button{min-height:90px;padding:8px;font-size:12px}#view .month .day-button strong{font-size:15px}#view .month .day-button small{font-size:11px}#view .month>div{min-height:0}#view .month-head{font-size:12px;padding:6px}

.checklist-table .training-cell-tools{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center}.checklist-table .checklist-cert-trash{grid-column:1;grid-row:1;padding:6px;min-width:0}.checklist-table .training-button{grid-column:2;grid-row:1}.checklist-table .copy-certification,.checklist-table [data-paste-cert-one]{grid-column:2;justify-self:start}

#globalPeopleSearch{padding-right:54px}#globalPeopleSearch::-webkit-search-cancel-button{-webkit-appearance:none}#clearGlobalPeopleSearch{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:#39576a;font-size:28px;line-height:1;border-radius:9px}#clearGlobalPeopleSearch:hover,#clearGlobalPeopleSearch:focus-visible{background:#e8f0f5}

.page-head h1 .employee-status-tag,.mini-hero .employee-status-tag{font-size:15px;padding:6px 13px;line-height:1.4;margin-left:10px;vertical-align:middle}.mini-hero .employee-status-tag{margin-left:0}#globalPeopleResults{padding:8px;max-height:min(70vh,640px);overflow-y:auto;overscroll-behavior:contain}#globalPeopleResults button{padding:15px 16px;font-size:16px;min-height:70px}#globalPeopleResults small{font-size:13px;margin-top:5px}#globalPeopleResults .employee-status-tag{font-size:12px;padding:4px 9px}

.strike-employee-table th:first-child,.strike-employee-table td:first-child{width:340px;min-width:300px}.strike-name-status{display:flex;align-items:center;gap:9px}.strike-name-status>strong{flex:1;min-width:0;overflow-wrap:normal}.strike-name-status>.employee-status-tag{flex-shrink:0;margin-left:0}.profile-edit-menu{margin:8px 0 14px}.profile-edit-menu>summary{display:inline-block;cursor:pointer;padding:9px 14px;border:1px solid var(--line);border-radius:10px;font-weight:700;color:var(--blue)}.profile-edit-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0}

#editor.permissions-editor{position:fixed!important;top:16px!important;bottom:auto!important;margin:0 auto!important;height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important;overflow:hidden!important}#editor.permissions-editor #editForm{display:flex!important;flex-direction:column;height:100%!important;max-height:100%!important;min-height:0;overflow:hidden!important}#editor.permissions-editor #editBody{flex:1 1 0!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain}#editor.permissions-editor #editForm>header,#editor.permissions-editor #editForm>footer{flex-shrink:0}

.default-search-picker{position:relative;margin-top:6px;min-width:0}.default-search-picker>summary{padding:13px 15px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:white;font-weight:600}.default-search-options{padding:10px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 8px 24px #0002}.default-search-options>div{max-height:240px;overflow-y:auto;overscroll-behavior:contain}.default-search-options button{display:block;width:100%;text-align:left;margin-top:5px;white-space:normal}.default-search-options button[aria-pressed=true]{background:var(--soft);border-color:var(--blue)}.default-search-options button[hidden]{display:none}

/* Modal content scrolls independently of the page. */
body:has(dialog[open]){overflow:hidden!important}
dialog[open]{position:fixed!important;top:20px!important;bottom:auto!important;margin:0 auto!important;max-height:calc(100dvh - 40px)!important;overflow:auto!important;overscroll-behavior:contain}
#editor[open]{overflow:hidden!important}
#editor #editForm{display:flex;flex-direction:column;max-height:calc(100dvh - 92px)!important;min-height:0;overflow:hidden!important}
#editor #editBody{min-height:0;overflow-y:auto!important;overscroll-behavior:contain;padding-right:10px}
#editor .dialog-head,#editor .dialog-actions,#editor #editError{flex-shrink:0}
.profile-edit-menu:not([open])>.profile-edit-actions{display:none}
.profile-edit-menu[open]>.profile-edit-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:12px;margin-top:8px}
.profile-edit-actions>button{text-align:left;font-size:14px;padding:10px 12px}

.group-assignments>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;cursor:pointer}.group-assignments>summary span{font-size:12px;background:var(--soft);padding:4px 9px;border-radius:20px;white-space:nowrap}.assigned-group-body{padding:0 12px 12px}.assigned-group-body>input{width:100%}.assigned-group-body .filter-options{max-height:220px!important;overflow-y:auto!important;overscroll-behavior:contain;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.assigned-group-body label.check{padding:8px;border:1px solid var(--line);border-radius:8px;font-size:14px}.assigned-group-body label.check:has(input:checked){background:var(--soft);border-color:var(--blue)}.assigned-group-body label[hidden]{display:none}

.weekday-availability-panel{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px}.weekday-availability-panel>summary{cursor:pointer;font-weight:700;padding:4px}.weekday-availability-panel:not([open])>.availability-week{display:none}


/* Calendar scrolling is confined to its own surface; surrounding controls use page scrolling. */
#view[data-page="schedule"] .schedule-sidebar{position:relative;top:auto}
#view[data-page="schedule"] .schedule-main{position:sticky;align-self:start;top:calc(var(--app-header-height) + var(--app-nav-height) + 8px)}
#view[data-page="schedule"] .schedule-grid{max-height:max(240px,calc(100dvh - var(--app-header-height) - var(--app-nav-height) - var(--pinned-commands,100px) - 30px))!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}
#view[data-page="schedule"] .schedule-grid thead th{top:0!important}
@media(max-width:950px){#view[data-page="schedule"] .schedule-main{position:relative;top:auto}}

.week-actions{display:flex!important;flex-wrap:nowrap!important;gap:5px!important}.week-actions>button{flex:1 1 0;min-width:0;white-space:nowrap;font-size:11px!important;padding:7px 6px!important;margin:0!important}
.schedule-grid td{vertical-align:top}.schedule-grid .person-select{display:none!important}.schedule-grid td:first-child{padding-top:8px!important;padding-bottom:8px!important}.schedule-grid .employee-department{margin-top:3px;margin-bottom:3px}.schedule-main .schedule-grid .day-button{min-height:72px;padding:8px 7px}.schedule-grid .week-actions{margin-top:6px}.schedule-grid .cal-cell{padding-top:7px!important;padding-bottom:7px!important}
.rehire-date-buttons{display:inline-flex;flex-wrap:wrap;gap:8px}.rehire-date-buttons button{white-space:nowrap;text-align:left}.page-head h1 .nickname-edit{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:36px;height:36px;min-height:36px;padding:0;margin-left:8px;font-size:21px;border-radius:9px}

.profile-overview .profile-info-card{padding:24px}.profile-overview .profile-info-card h2{font-size:24px}.profile-overview .profile-info-card .mini-facts>div{padding:15px}.profile-overview .profile-info-card .mini-facts small{font-size:13px}.profile-overview .profile-info-card .mini-facts strong{display:block;font-size:16px;margin-top:5px}
.profile-assignments{padding:20px 24px}.profile-assignments h2{font-size:18px;margin:0 0 14px}.profile-assignment-row+.profile-assignment-row{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.profile-assignment-row h3{font-size:12px;color:var(--muted);margin:0 0 8px}.profile-assignment-tags{display:flex;flex-wrap:wrap;gap:7px;font-size:13px}.assignment-group,.assignment-job{display:inline-flex;align-items:center;gap:6px;max-width:100%;overflow-wrap:anywhere}.assignment-group{background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:6px 9px}.profile-assignment-tags .job-tag{font-size:12px;padding:6px 9px;white-space:normal}.profile-assignment-tags small{font-size:10px;color:var(--muted)}
.profile-box-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.profile-box-heading h2{margin:0}.box-edit-pencil{width:36px;height:36px;min-height:36px;padding:0;flex-shrink:0;font-size:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px}.assignment-edit-options{max-height:220px;overflow-y:auto;overscroll-behavior:contain}.assignment-edit-options .check{font-size:13px;padding:6px}.assignment-edit-options [hidden]{display:none!important}
#editor.profile-section-editor{width:min(680px,calc(100vw - 32px));max-width:680px}#editor.profile-section-editor #editTitle{font-size:22px}#editor.profile-section-editor .grid{gap:14px}

.profile-employment-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.profile-employment-actions button{font-size:13px;padding:8px 12px}
.audit-controls{padding:14px;margin:12px 0}.audit-controls .filter-bar{padding:0;border:0}.audit-controls label{font-size:12px}.audit-search{flex:1;min-width:230px}.audit-search input{width:100%}.audit-table th:first-child{min-width:280px}.audit-table td{vertical-align:top}.audit-table td:nth-child(2){min-width:140px}.audit-table td:nth-child(2)>small{display:block;margin-top:6px;font-size:12px}.audit-records,.audit-row-actions{display:flex;flex-wrap:wrap;gap:7px}.audit-records button{text-align:left;font-size:13px;padding:9px 12px}.audit-records small{display:block;font-size:11px;margin-top:4px}.audit-row-actions button{white-space:nowrap;font-size:12px}.inservice-total{display:inline-block;border-radius:20px;padding:6px 12px;font-weight:750}.inservice-total.complete{background:#dcfce7;color:#166534}.inservice-total.missing{background:#fff0d5;color:#854d0e}#editor fieldset{border:0;padding:0;margin:0;min-width:0}.audit-subnav{margin-top:0}
.audit-filter-grid{display:grid;grid-template-columns:minmax(250px,280px) minmax(240px,1fr) minmax(185px,220px) minmax(165px,190px) auto;gap:12px;align-items:end}.audit-filter-grid>label,.audit-month-controls>label{display:flex;flex-direction:column;gap:6px;min-width:0;text-align:left;margin:0}.audit-filter-grid input,.audit-filter-grid select{width:100%;min-width:0;max-width:none;height:42px;box-sizing:border-box;font-size:13px}.audit-month-controls{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:8px;align-items:end}.audit-month-controls>button{height:42px;padding:0}.audit-filter-grid>.audit-search{min-width:0}.audit-filter-grid>#auditMissing{height:42px;font-size:12px;white-space:nowrap;padding:8px 12px}.audit-controls>p{margin:12px 0 0}@media(max-width:1250px){.audit-filter-grid{grid-template-columns:minmax(250px,280px) minmax(240px,1fr)}.audit-filter-grid>#auditMissing{justify-self:start}}@media(max-width:650px){.audit-filter-grid{grid-template-columns:1fr}.audit-filter-grid>#auditMissing{justify-self:stretch}}
.inservice-total.missing-red{background:#fee2e2;color:#991b1b}.inservice-total.missing-yellow{background:#fef9c3;color:#854d0e}.departure-list .inservice-total{font-size:12px;white-space:normal}
.audit-entry-tools{display:inline-flex;align-items:stretch;gap:3px;max-width:100%}.audit-entry-tools>button{margin:0}.audit-trash{padding:6px!important}.vat-pass{background:#dcfce7!important;color:#166534!important;border-color:#86cfa1!important}.vat-fail{background:#fee2e2!important;color:#991b1b!important;border-color:#eca6a6!important}.audit-table .audit-dates-heading,.audit-table .audit-dates-cell{text-align:center;min-width:280px}.audit-table .audit-records{justify-content:center;align-items:center}.audit-table th:last-child,.audit-table td:last-child{text-align:right;min-width:145px;width:170px}.audit-count>small{display:block}.monthly-inservice-total{display:inline-flex;flex-direction:column;margin:3px;gap:4px}.instructor-label{display:block;color:var(--muted);font-size:12px}.audit-secondary-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:14px}.audit-secondary-filters label{min-width:150px;flex:1}.audit-secondary-filters input,.audit-secondary-filters select{width:100%;height:42px}.announcement-section{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0}.announcement-section summary{font-weight:700;cursor:pointer}.audit-history-entry{padding:12px 0;border-bottom:1px solid var(--line)}.season-settings{padding:14px;border:1px solid var(--line);border-radius:12px;margin-bottom:14px}.season-settings button{margin-top:12px}.rehire-record.rehire-yes{border-top:5px solid #2b9856;background:#f0faf3}.rehire-record.rehire-no{border-top:5px solid #d45151;background:#fff3f3}.rehire-record.rehire-undecided{border-top:5px solid #d1ad21;background:#fffbea}.home-requirements{margin-top:18px}.home-requirements .departure-list{max-height:340px;overflow:auto;overscroll-behavior:contain}
.enhanced-native-select{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;padding:0!important;pointer-events:none!important}.app-select-picker{position:relative;min-width:0;width:100%;font-size:14px}.app-select-picker>summary{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:10px 13px;border:1px solid var(--line,#cbd9e3);border-radius:10px;background:white;color:var(--navy,#183d52);font-weight:600;cursor:pointer;list-style:none}.app-select-picker>summary::after{content:'⌄';flex-shrink:0}.app-select-picker>summary::-webkit-details-marker{display:none}.app-select-picker.disabled{opacity:.55}.app-select-panel{position:absolute;z-index:100;top:calc(100% + 5px);left:0;min-width:100%;width:max-content;max-width:min(360px,85vw);box-sizing:border-box;padding:9px;border:1px solid var(--line,#ccd9e0);background:white;border-radius:12px;box-shadow:0 10px 28px #173b5225}.app-select-panel>div{max-height:240px;overflow-y:auto;overscroll-behavior:contain}.app-select-panel input{width:100%!important;min-width:0!important;box-sizing:border-box;margin-bottom:6px}.app-select-panel button{display:block;text-align:left;width:100%;border:0;background:white;white-space:normal;padding:10px;border-radius:7px;font-size:13px}.app-select-panel button[aria-pressed=true]{background:var(--soft,#eaf3f7);color:var(--blue,#075aa3);font-weight:750}.app-select-panel button:hover{background:var(--soft,#eaf3f7)}.app-select-panel button[hidden]{display:none}label:has(>.app-select-picker){min-width:0}.audit-filter-grid .app-select-picker>summary{font-size:13px;height:42px}
/* Compact audit entry forms and independent dashboard requirements. */
#editor.audit-entry-editor{position:fixed!important;top:24px!important;bottom:auto!important;margin:0 auto!important;width:min(640px,calc(100vw - 32px));height:auto!important;max-height:calc(100dvh - 48px)!important;padding:22px}
#editor.audit-entry-editor #editForm{height:auto!important;max-height:calc(100dvh - 94px)!important}
#editor.audit-entry-editor #editBody{flex:0 1 auto!important;overflow-y:auto!important;overscroll-behavior:contain;min-height:0}
#editor.audit-entry-editor #editTitle{font-size:22px;line-height:1.3}
#editor.audit-entry-editor .audit-entry-fields{gap:16px;align-items:start}
#editor.audit-entry-editor .audit-entry-fields input,#editor.audit-entry-editor .app-select-picker>summary{height:44px;width:100%}
#editor.audit-entry-editor textarea{min-height:96px;resize:vertical}
#editBody details.app-select-picker,details.app-select-picker{margin:0;padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}
.vat-remediation{font-size:12px;padding:10px 12px;margin:12px 0;border-radius:9px;background:#fff5df;color:#795315}.vat-remediation.overdue{background:#fee2e2;color:#991b1b}
.home-requirements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:0}
.home-requirement-card{min-width:0;cursor:pointer}.home-requirement-card h2>button{border:0;padding:0;background:transparent;text-align:left;width:100%;font-size:19px;line-height:1.4}.home-requirement-card .departure-list{display:flex;flex-direction:column;max-height:280px}.home-requirement-card .departure-list>button{min-width:0;width:100%;white-space:normal;text-align:left}.home-requirement-card .departure-list span{display:block;font-size:12px}
@media(max-width:1000px){.home-requirements{grid-template-columns:1fr}}

.audit-table td:first-child .vat-remediation{max-width:320px;text-align:left;white-space:normal;margin:10px 0 0;line-height:1.5}

/* Home cards share consistent boundaries and independent scroll regions. */
.home-updates{align-items:stretch;margin-bottom:18px}.home-updates>.card{align-self:stretch;margin-bottom:0;min-width:0}.home-requirements{align-items:stretch}.home-requirement-card{margin-bottom:0;min-height:200px;display:flex;flex-direction:column}.home-requirement-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:52px}.home-requirement-heading h2{flex:1;min-width:0;margin:0}.audit-notification-bell{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border-radius:9px;color:var(--blue)}.audit-notification-bell.is-muted{color:var(--muted);background:var(--bg)}.audit-muted-label{font-size:11px;color:var(--muted);margin:0 0 6px}.home-requirement-card>.departure-list{margin-top:0}.home-requirements .departure-list>p:last-child{margin-bottom:0}
.audit-remediation-wrap{display:flex;justify-content:center}.audit-remediation-wrap:empty{display:none}.audit-remediation-wrap .vat-remediation{display:inline-block;max-width:360px;margin:0 0 10px;text-align:center;white-space:normal}
.audit-table th:first-child,.audit-table td:first-child{width:290px;min-width:240px;max-width:340px}.audit-table .employee-name-status{flex-wrap:wrap;justify-content:flex-start;gap:6px}.audit-table .employee-name-status>.person{white-space:normal;overflow-wrap:anywhere}.instructor-label{display:inline-flex;align-items:center;border-radius:20px;background:#fce7f3;color:#9d1758;border:1px solid #f3a8cd;padding:4px 9px;font-size:11px;font-weight:700;white-space:nowrap}.audit-table .audit-count-heading button{font-size:12px;padding:6px 9px;background:transparent;border-color:transparent;white-space:normal}.audit-table .audit-count-heading button:hover{border-color:var(--blue)}
#editBody .announcement-section .departure-list>button,#editBody .expiry-notice{width:100%;border-radius:14px;padding:12px 14px;align-items:center;gap:12px;min-width:0}.announcement-section .departure-list>button>strong{flex:1;min-width:0;overflow-wrap:anywhere}.announcement-section .departure-list>button>span{flex:1.5;min-width:0;white-space:normal;border-radius:12px;padding:9px 12px;font-size:13px}.announcement-section .departure-list>button>span.vat-fail{background:#fff3d6!important;color:#795315!important}
.audit-selection-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:14px;margin-top:12px;border-top:1px solid var(--line)}.audit-selection-toolbar button{font-size:12px}.audit-select-cell{cursor:pointer}.audit-table tr.audit-selected>td{background:color-mix(in srgb,var(--blue) 12%,white)!important}.audit-table tr.audit-selected>td:first-child{box-shadow:inset 4px 0 var(--blue)}.audit-profile-link{font-size:11px;padding:2px 0;background:transparent;border:0;color:var(--muted);margin:5px 0}.audit-bulk-people{display:flex;flex-wrap:wrap;gap:5px;max-height:110px;overflow:auto;overscroll-behavior:contain;margin-bottom:16px}.audit-bulk-people span{border-radius:20px;background:var(--soft);padding:4px 9px;font-size:12px}
@media(max-width:600px){.announcement-section .departure-list>button{flex-direction:column;align-items:stretch!important}.announcement-section .departure-list>button>span{flex:auto}}

.audit-table .audit-remediation-heading,.audit-table .audit-remediation-cell{width:160px;min-width:150px;max-width:180px;text-align:center;vertical-align:middle}.audit-remediation-cell .vat-remediation{display:inline-block;margin:0;padding:7px 10px;white-space:nowrap;border-radius:9px;font-size:12px}.audit-table .audit-dates-cell{vertical-align:middle}

.home-requirement-card.is-muted{min-height:0;align-self:start}.home-requirement-card.is-muted .home-requirement-heading{min-height:36px}.home-requirement-card.is-muted .audit-muted-label{margin:8px 0 0}

/* Audit identities stay on one line; the whole row is the selection target. */
.audit-table th:first-child,.audit-table td:first-child{width:auto;min-width:380px;max-width:none}
.audit-table .employee-name-status{display:inline-flex;flex-wrap:nowrap;gap:8px;max-width:none}
.audit-table .employee-name-status>.person{white-space:nowrap;overflow-wrap:normal}
.audit-table .instructor-label{flex-shrink:0}
.audit-table tr[data-audit-select]{cursor:pointer}
.audit-table tr[data-audit-select]:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.permission-grid{display:grid;grid-template-columns:minmax(180px,1fr) 60px 60px;align-items:center;gap:12px;padding:12px 0}
.permission-grid>strong:not(:first-child),.permission-grid>input{justify-self:center}
.permission-grid>input{width:22px;height:22px;margin:0;cursor:pointer}

.pay-basis{margin-top:7px!important;font-size:11px!important;line-height:1.5}
.change-log-event{border:1px solid var(--line);border-radius:14px;margin:14px 0;overflow:hidden;background:white}
.change-log-event>header{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--soft)}
.change-log-event time{font-size:12px;color:var(--muted)}
.change-comparison{padding:14px 16px;border-top:1px solid var(--line)}
.change-comparison h4{font-size:14px;margin:0 0 10px;overflow-wrap:anywhere}
.change-values{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.change-values>div{border-radius:9px;padding:10px 12px;min-width:0;background:#f5f7fa}
.change-values>.change-after{background:#edf8f1}
.change-values small{display:block;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--muted)}
.change-values p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0;font-size:13px}
.rehire-status-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
#view>.strike-controls{position:sticky;top:calc(var(--app-header-height) + var(--app-nav-height) + var(--pinned-heading));z-index:30;background:var(--bg);padding:10px 0;margin-bottom:10px}
.strike-search-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.strike-search-row input{flex:1;min-width:200px;height:42px}
.strike-search-row button{height:42px;white-space:nowrap}
#strikeExtraFilters{padding-top:10px}#strikeExtraFilters[hidden]{display:none!important}
#strikeExtraFilters .filter-bar{margin:0;padding:12px}
.strike-extra-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-top:10px}.strike-extra-row label{margin:0}
.strike-employee-table thead button{background:transparent;border:0;padding:5px 0;color:inherit;font:inherit;font-weight:700;text-align:left}
.strike-employee-table thead button span{font-size:12px;margin-left:4px}
.strike-name-status{display:flex!important;align-items:center!important;gap:10px!important}
.strike-name-status>.strike-person-name{font-size:17px!important;line-height:1.4;flex:0 1 auto!important;width:fit-content!important;max-width:100%;padding:5px 9px;border-radius:9px;box-decoration-break:clone}
.strike-name-status>.employee-status-tag{flex-shrink:0;margin-left:auto!important}
.strike-employee-table .strike-row-records{max-height:none!important;overflow:visible!important}
@media(max-width:650px){.change-values{grid-template-columns:1fr}.change-log-event>header{flex-direction:column}.strike-search-row input{flex-basis:100%}}
.day-tools,.month .day-tools,.schedule-main .day-tools{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.day-tools>button,.month .day-tools>button,.schedule-main .day-tools>button{flex:0 0 auto;min-width:max-content;grid-column:auto;grid-row:auto;padding:5px 7px;font-size:11px}
.day-tools>button[data-day-tool="unavailable"],.day-tools>button[data-day-tool="available"]{margin-left:auto!important}
.day-tools>button:first-child{margin-left:0!important}
.day-tools>button[data-day-tool="deleteShift"]{color:#a3233c;background:#ffe5ea;border-color:#c95b70;padding:5px 6px}
.change-log-event>header{min-height:0!important}

/* Schedule cards: one action row, with shift deletion on hover or keyboard focus. */
.draft-day{position:relative;padding:6px;border-radius:10px}
.draft-day.closed-schedule-day{border:0!important;background:transparent!important}
.schedule-main .schedule-grid .draft-day>.day-button,.draft-day>.day-button{border-radius:8px;box-shadow:none;min-height:76px;padding:10px;text-align:left;width:100%}
.draft-day.has-shift>.day-button{padding-right:36px!important}
.draft-day>.day-button>strong{display:block;line-height:1.3;margin:7px 0 3px}
.draft-day>.day-button>small{display:block;line-height:1.4;margin:0}
.draft-day.closed-schedule-day.has-shift .availability-caption{display:inline-block;font-size:10px;padding:2px 7px!important;margin:0 0 4px;border-radius:12px}
.draft-day .schedule-day-tools{display:flex;flex-wrap:nowrap!important;align-items:center;gap:4px;margin-top:6px}
.draft-day .schedule-day-tools>button{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;min-height:28px;font-size:10px;line-height:1;min-width:0;padding:5px 6px}
.draft-day .schedule-day-tools>button[data-day-tool="copy"],.draft-day .schedule-day-tools>button[data-day-tool="paste"]{flex:0 0 28px;width:28px;padding:5px}
.schedule-day-tools svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.draft-day .schedule-day-tools>button[data-day-tool="available"],.draft-day .schedule-day-tools>button[data-day-tool="unavailable"]{flex:1 0 auto;margin-left:0!important}
.draft-day .schedule-day-tools>button[data-day-tool="deleteShift"]{position:absolute;right:10px;top:10px;width:28px;height:28px;min-height:28px;padding:5px;opacity:0;pointer-events:none;transition:opacity .15s;background:#fff1f3;color:#a3233c;border:1px solid #e7b2bd}
.draft-day:hover .schedule-day-tools>button[data-day-tool="deleteShift"],.draft-day:focus-within .schedule-day-tools>button[data-day-tool="deleteShift"]{opacity:1;pointer-events:auto}
@media(hover:none){.draft-day .schedule-day-tools>button[data-day-tool="deleteShift"]{opacity:1;pointer-events:auto}}
.strike-employee-table thead button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-width:max-content}
.strike-employee-table thead button span{display:inline-block;flex:0 0 auto;margin:0;white-space:nowrap}
.strike-employee-table th:nth-child(2){min-width:76px;white-space:nowrap}

/* Rehire search stays compact and scrolls with the records. */
#view>.rehire-controls{position:static;margin:12px 0 16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:white}
.rehire-search-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rehire-search-row input{flex:1;min-width:220px;height:42px;margin:0}
.rehire-search-row button{height:42px;white-space:nowrap}
.rehire-controls .rehire-status-options{margin:12px 0 0;gap:6px}
.rehire-controls .rehire-status-options button{font-size:12px;padding:7px 12px;border-radius:20px}
#rehireExtraFilters{padding-top:12px}
#rehireExtraFilters[hidden]{display:none!important}
.rehire-controls .filter-bar{position:static;margin:0;align-items:center;padding:10px}
.rehire-table thead button{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:transparent;border:0;padding:5px 0;color:inherit;font:inherit;font-weight:700}
.rehire-table thead button span{flex:0 0 auto;font-size:12px}
.rehire-table .person{font-size:16px}
.rehire-table .rehire-date-buttons{display:flex;flex-wrap:wrap;gap:5px}
@media(max-width:650px){.rehire-search-row input{flex-basis:100%}}

/* Audit dates retain their copy/paste controls; hours and Add Hours share a cell. */
.audit-count-content{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.audit-count-content .audit-summary{min-width:0}
.audit-summary>small{display:block;font-size:11px;margin-top:5px;line-height:1.4}
.audit-count-content:has(>.audit-add){min-width:235px}
.audit-table .audit-add{flex-shrink:0;white-space:nowrap;border-radius:9px;padding:8px 11px;background:#e1f5e9;color:#17633b;border-color:#97caaa;font-size:12px}
.audit-table .audit-copy{background:#eaf2ff;color:#245795;border-color:#b3caeb}
.audit-table .audit-paste{background:#e3f5f3;color:#176961;border-color:#9ecdc6}
.audit-table .audit-trash{background:#fff0f2;color:#a32741;border-color:#eab5c0;border-radius:9px}
.audit-table .audit-add:hover{background:#c8ead5}
.audit-table .audit-copy:hover{background:#d4e5ff}
.audit-table .audit-paste:hover{background:#c9ebe6}
.audit-table .audit-trash:hover{background:#ffdae1}
.audit-row-actions:empty{display:none}
.audit-table .audit-row-actions{display:inline-flex;align-items:center;gap:5px}
/* Aquatics classes: simple rosters with attendance and notes at hand. */
#view[data-page="classes"]>.page-head{position:static}.class-tabs{display:flex;gap:10px;margin:0 0 18px}.class-overview-top{display:flex;justify-content:space-between;gap:20px;align-items:end;flex-wrap:wrap}.class-overview-top>label{flex:1;min-width:240px;max-width:480px}.class-overview-top .toolbar{margin:0;gap:8px}.class-overview .toolbar button,.class-tools button{font-size:13px;padding:9px 13px}.class-day-chips{display:flex;flex-wrap:wrap;gap:8px}.class-day-chips>span{padding:8px 12px;border-radius:10px;background:var(--soft);font-size:13px}.class-day-chips strong{margin-right:6px}.class-general-notes{white-space:pre-wrap}.class-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}.class-tools input{flex:1;min-width:240px}.class-tools>span{font-size:13px;color:var(--muted)}
#view .class-table-wrap{overflow-x:auto!important;border-radius:14px}#view .class-roster{table-layout:auto;min-width:100%}#view .class-roster th{position:static;white-space:nowrap}#view .class-roster th:first-child,#view .class-roster td:first-child{position:static;width:auto;min-width:225px;max-width:310px}#view .class-roster td{padding:13px 10px;vertical-align:middle}.class-roster th small{display:block;font-size:11px;font-weight:500;margin-top:4px}.class-person-name{display:flex;align-items:center;gap:8px}.class-person-name input,.class-attendance input{width:18px;height:18px;min-width:18px;accent-color:var(--blue);margin:0}.class-person-name .person{font-size:16px;line-height:1.4;text-align:left;white-space:normal}.class-person-name .class-pencil{padding:4px 6px;border:0;background:transparent}.class-roster td>small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.class-attendance{text-align:center}.class-roster .class-selected td{background:color-mix(in srgb,var(--blue) 10%,white)!important}.class-roster tr[data-class-row]:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.class-checks{border:0;background:transparent;text-align:left;padding:3px;display:grid;gap:4px;white-space:nowrap}.class-check-summary{font-size:12px;color:var(--muted)}.class-check-summary.done{color:#12693d}.class-progress{display:inline-block;border-radius:20px;padding:5px 9px;background:var(--soft);font-size:13px;font-weight:700}.class-progress.done,.class-result.pass{background:#dff5e9;color:#166a43;border-color:#a7dbc0}.class-result.fail{background:#ffe5e8;color:#a11f3a;border-color:#f2aebc}.class-result{padding:7px 10px;font-size:12px}.class-notes-cell{min-width:180px;max-width:330px}.class-notes{display:block;width:100%;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.5;border:1px dashed var(--line);background:transparent;border-radius:10px;padding:10px;max-height:130px;overflow:auto}.alive-roster .class-notes-cell{width:35%}.class-session-list{margin:18px 0;display:grid;gap:10px}.class-session{display:grid;grid-template-columns:65px 1.5fr 1fr 1fr;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.class-session[hidden]{display:none}.class-session label{margin:0;font-size:12px}.class-session input{background:white;width:100%;min-width:0}.class-session strong{font-size:13px}.class-people-choices{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0;display:grid;gap:8px}.class-people-choices label{display:flex;gap:10px;padding:8px;margin:0}.class-people-choices small{color:var(--muted)}.class-follow-on{padding:14px;background:var(--soft);border-radius:12px;margin:16px 0}
#editor.class-editor{width:min(860px,calc(100vw - 32px));height:auto!important;padding:24px}#editor.class-editor #editForm{height:auto!important}#editor.class-editor #editBody{flex:0 1 auto!important;overflow-y:auto!important;min-height:0}#editor.class-editor #editTitle{font-size:23px;line-height:1.3}#editor.class-editor textarea{min-height:80px}#editor.class-editor fieldset{border:1px solid var(--line);border-radius:12px;padding:12px}#editor.class-editor legend{font-weight:700}#classAliveFields[hidden]{display:none}@media(max-width:650px){.class-session{grid-template-columns:1fr 1fr}.class-session>strong{grid-column:1/-1}.class-session>label:first-of-type{grid-column:1/-1}.class-overview-top .toolbar{flex-wrap:wrap}.class-tabs button{flex:1}.class-fields{grid-template-columns:1fr}}
.personal-day-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.personal-day-tabs button{font-size:13px;padding:9px 12px}.availability-weekday-range{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.availability-weekday-range .toolbar{margin:10px 0}.availability-weekday-range .toolbar button{font-size:12px;padding:7px 10px}.availability-weekday-choices{display:flex;flex-wrap:wrap;gap:14px}.availability-weekday-choices .check{margin:0;display:flex;gap:5px;align-items:center;font-size:13px}.availability-weekday-choices input{width:17px;height:17px}#editor.personal-day-editor{width:min(720px,calc(100vw - 32px));height:auto!important;padding:24px}#editor.personal-day-editor #editTitle{font-size:22px}#editor.personal-day-editor #editForm{height:auto!important}#editor.personal-day-editor #editBody{flex:0 1 auto!important;overflow-y:auto!important;min-height:0}
/* Availability keeps only calendar headings pinned, leaving the roster more space. */
#view[data-page="calendar"]>.page-head,#view[data-page="calendar"]>.filter-bar,#view[data-page="calendar"]>.schedule-profile-toolbar{position:static!important;box-shadow:none}
#view[data-page="calendar"]>.filter-bar{padding:10px;margin:8px 0;border-radius:12px;border-top:1px solid var(--line);gap:8px}
#view[data-page="calendar"]>.filter-bar input{font-size:13px;padding:9px 11px;min-height:38px}
#view[data-page="calendar"]>.filter-bar button,#view[data-page="calendar"]>.filter-bar summary{font-size:12px;padding:9px 11px;min-height:38px}
#view[data-page="calendar"]>.filter-bar .filter-count{font-size:12px}
#view[data-page="calendar"] .table-wrap thead th,#view[data-page="calendar"] .month>.month-head{position:sticky;top:calc(var(--app-header-height) + var(--app-nav-height));z-index:20;background:var(--soft);box-shadow:0 1px 0 var(--line)}
.availability-command-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:8px 0;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:white}
.availability-mode{display:inline-flex;gap:3px;padding:3px;border-radius:9px;background:var(--soft)}
.availability-command-bar button{font-size:12px;padding:7px 10px;min-height:34px;white-space:nowrap}
.availability-mode button{border:0;border-radius:7px;background:transparent}.availability-mode button.primary{background:var(--blue);color:white}
.availability-command-bar>.toolbar{gap:5px;margin:0;flex:1 1 auto;min-width:0}.availability-command-bar>.toolbar .spacer{display:none}.availability-command-bar .date-range-button{font-size:13px;padding:7px 8px;border-color:transparent}
.availability-selection{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.availability-selected-count{font-size:12px;padding:5px 9px;border-radius:20px;color:var(--blue);background:var(--soft);white-space:nowrap}
.availability-command-bar .availability-clear{font-size:11px;background:transparent;color:#9c3346;border-color:#edc9d0}
.availability-legend .legend{margin:6px 0 10px;padding:0 3px;gap:14px;font-size:11px}.availability-legend .dot{width:8px;height:8px}
#view[data-page="calendar"] .cal-cell .day-button{min-height:70px;padding:8px;font-size:13px}
@media(max-width:800px){.availability-command-bar{gap:8px;padding:8px}.availability-selection{flex:1 1 100%;justify-content:flex-start}.availability-command-bar>.toolbar{flex:1 1 auto;flex-wrap:wrap}.availability-command-bar .date-range-button{white-space:normal}}
/* Keep the entire class header in one row; other pages' sticky offsets do not apply. */
#view[data-page="classes"] .class-roster thead,#view[data-page="classes"] .class-roster thead tr,#view[data-page="classes"] .class-roster th{position:static!important;top:auto!important;transform:none!important;vertical-align:middle;background:var(--soft)!important}
#view[data-page="classes"] .class-roster th:first-child{position:static!important}.class-sort{display:inline-flex;align-items:center;gap:6px;padding:2px 0;background:transparent!important;border:0;font-size:12px;white-space:nowrap;color:inherit}.class-sort span{font-size:11px;opacity:.65}.class-section-title{font-size:19px;margin:24px 0 10px}.class-section-title small{font-size:12px;color:var(--muted);margin-left:10px;font-weight:400}
.class-roster .class-progress.low,.class-roster .class-payment.unpaid{background:#fee2e2!important;color:#a11d2d!important;border-color:#f3b1b9!important}.class-roster .class-progress.middle{background:#ffedd5!important;color:#a9470c!important}.class-roster .class-progress.high{background:#fef3c7!important;color:#805b0c!important}.class-roster .class-progress.complete,.class-roster .class-payment.paid{background:#dcfce7!important;color:#17643a!important}.class-roster .class-progress.unknown{background:#edf1f5;color:#64748b}.class-payment{font-size:12px;padding:7px 10px}.class-renewal-times{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:12px}.class-renewal-times .class-session{grid-template-columns:65px 1fr 1fr}.class-transfer-choices{display:grid;gap:12px;margin:18px 0}.class-transfer-choice{display:flex;gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.class-transfer-choice:has(input:checked){background:var(--soft);border-color:var(--blue)}.class-transfer-choice input{width:18px;height:18px}.class-transfer-choice small{display:block;margin-top:5px;color:var(--muted)}.class-close-results{display:grid;gap:8px;margin-bottom:20px}.class-close-results>label{display:grid;grid-template-columns:1fr 200px;gap:12px;align-items:center;padding:10px;border-bottom:1px solid var(--line)}@media(max-width:600px){.class-close-results>label{grid-template-columns:1fr}.class-renewal-times .class-session{grid-template-columns:1fr 1fr}}
.class-checks .class-quick-toggle{display:inline-flex;align-items:center;gap:5px;text-align:left;border:1px solid transparent;border-radius:7px;background:transparent;padding:5px 7px;min-height:30px;font-size:12px;font-weight:600}.class-checks .class-quick-toggle:hover:not(:disabled){background:var(--soft);border-color:var(--line)}.class-checks .class-quick-toggle.done{background:#e6f6ee;color:#17643a}.class-checks .class-quick-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.class-checks .class-quick-toggle:disabled{cursor:default}

/* Compact certification dates and responsive class controls. */
.cert-date-control{position:relative;padding:12px 10px 10px;background:var(--surface,#fff)}
.cert-date-control:has(.cert-clear-date){padding-bottom:38px}
.cert-date-control>.cert-clear-date{position:absolute;bottom:5px;right:10px;border:0;background:transparent;color:var(--muted,#607b8d);padding:3px 7px;min-height:25px;font-size:12px;margin:0;border-radius:6px}
.cert-date-control>.cert-clear-date:hover{background:var(--soft);color:var(--blue)}
.cert-date-control .app-select-picker>summary{height:44px;padding:9px 12px}
.cert-date-control input[type=number]{height:44px;padding:9px 10px}
.app-month-picker .app-select-panel{width:230px;min-width:230px;padding:8px}
.app-month-picker .app-select-panel>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;max-height:none}
.app-month-picker .app-select-panel button{text-align:center;padding:10px 4px;min-height:38px}
.app-month-picker .app-select-panel input[hidden]{display:none!important}
.class-person-name input[type=checkbox],.class-attendance input[type=checkbox],.class-follow-on input[type=checkbox],#editBody input[type=checkbox][id^=class],#editBody [data-class-add-person]{width:24px;height:24px;min-width:24px;accent-color:var(--blue);cursor:pointer;vertical-align:middle;transition:box-shadow .15s,transform .15s;border-radius:5px}
.class-attendance input:hover,.class-person-name input:hover{box-shadow:0 0 0 5px var(--soft)}
.class-attendance input:active,.class-person-name input:active{transform:scale(.9)}
.class-attendance input:focus-visible,.class-person-name input:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.class-attendance:has(input:checked){background:color-mix(in srgb,var(--blue) 9%,transparent)}
.class-copy-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.class-copy-tools button{font-size:11px;padding:4px 8px;min-height:28px;border-radius:7px;color:var(--blue);background:var(--soft)}
.class-copy-preview{padding:14px;border-radius:12px;background:var(--soft);line-height:1.8}

.class-copy-tools button.danger{color:#a32939;background:#fff0f1}

.class-overview-top{justify-content:flex-start;gap:14px}.class-overview-top>label{flex:0 1 350px}.class-overview-top .toolbar{flex:0 1 auto;align-items:center}
.class-export-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin-top:22px;background:var(--soft);border:1px solid var(--line);border-radius:16px}.class-export-panel p{margin:5px 0 0;color:var(--muted);font-size:13px}.class-export-panel>div:last-child{display:flex;gap:10px;flex-wrap:wrap}
.class-last-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.class-last-heading [data-class-reset]{font-size:11px;white-space:nowrap;padding:6px 9px;background:white;border-radius:8px}
.class-staff-field>span{display:block;font-size:13px;font-weight:650;margin-bottom:6px}.class-staff-picker{position:relative}.class-staff-picker>summary{padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:white;cursor:pointer}.class-staff-picker>div{position:absolute;z-index:110;top:calc(100% + 6px);left:0;width:100%;min-width:250px;max-width:85vw;background:white;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 10px 28px #173b5225}.class-staff-picker input[type=search]{width:100%;margin-bottom:8px}.class-staff-options{max-height:220px;overflow:auto}.class-staff-options label{padding:8px;border-radius:8px;cursor:pointer}.class-staff-options label:has(input:checked){background:var(--soft);color:var(--blue)}.class-staff-options input[type=checkbox]{width:23px;height:23px;min-width:23px}
@media(max-width:650px){.class-export-panel{align-items:stretch;flex-direction:column}.class-overview-top>label{flex-basis:100%;max-width:none}}

.class-close-results .class-close-person{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,190px) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);margin-bottom:9px}.class-close-person strong small{display:block;font-weight:400;font-size:11px;color:var(--muted)}.class-close-person input[type=checkbox]{width:24px;height:24px}.class-close-person [data-class-no-show]{font-size:12px;padding:8px 12px;color:#8b4d12;background:#fff3dd}
.class-follow-on-panel{border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0}.class-follow-on-tools{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:16px}.class-follow-on-tools>label:not(.check){flex:1}.class-destination-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.class-history-result{display:inline-block;padding:5px 10px;border-radius:20px;background:var(--soft)}.class-history-result.fail{background:#ffe2e2;color:#a51c25}.class-history-result.no_show{background:#fff0d0;color:#885615}.class-history-result.pass{background:#dff6e9;color:#176641}.class-history-notes{white-space:pre-wrap;max-width:400px}
@media(max-width:650px){.class-close-results .class-close-person{grid-template-columns:1fr 1fr}.class-destination-row{grid-template-columns:1fr}}

.class-result.no_show{background:#fff0d0;color:#885615;border-color:#ebd49c}

/* Date actions occupy their own row instead of overlapping the year input. */
.cert-date-control:has(.cert-clear-date){padding-bottom:10px}.cert-date-control>.cert-date-actions{display:flex;grid-template-columns:none;align-items:center;justify-content:flex-end;gap:8px;margin-top:10px}.cert-date-actions>button{position:static;min-height:30px;padding:5px 11px;margin:0;font-size:12px;border-radius:8px}.cert-date-actions>.cert-clear-date{background:transparent;color:var(--muted);border:1px solid var(--line)}.cert-date-actions>button[id$=Today]{background:var(--soft);color:var(--blue);border-color:var(--line)}
#attendance-workspace .attendance-sticky-controls{position:static!important;top:auto!important;z-index:auto!important}
.strike-employee-table .strike-person-name{font:inherit;font-size:17px;font-weight:750;cursor:pointer}.strike-employee-table .strike-person-name:hover{text-decoration:underline}
.strike-duplicate-notice{padding:14px;background:#fff4dc;border:1px solid #efd59a;border-radius:12px;color:#78531a}.strike-duplicate-notice p{font-size:13px;margin:6px 0}.strike-duplicate-notice>div{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:8px}.strike-duplicate-notice span{white-space:pre-wrap}.strike-duplicate-notice button{white-space:nowrap;font-size:12px}

.employee-filter-panel{margin:12px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.employee-filter-panel>button{padding:7px 11px;font-size:13px;margin-right:12px}.employee-filter-panel .filter-bar{margin-top:12px}.employee-filter-panel [hidden]{display:none!important}
.class-staff-section{padding:20px 24px;margin-top:20px;border:1px solid var(--line);border-radius:16px;background:white}.class-staff-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.class-staff-heading h3{margin:0;font-size:17px}.class-staff-heading>button{font-size:12px;padding:7px 12px}.class-staff-cards{display:flex;flex-wrap:wrap;gap:10px}.class-staff-cards>button{text-align:left;display:flex;flex-direction:column;gap:5px;min-width:220px;padding:12px 16px;background:var(--soft);border-radius:12px;border:1px solid var(--line)}.class-staff-cards small{font-size:11px;color:var(--muted)}.class-staff-cards strong{font-size:14px}.class-history [data-class-history-delete]{padding:7px 10px;font-size:12px;white-space:nowrap}.class-tools #clearClassHistory{margin-left:auto}
@media(max-width:650px){.class-staff-section{padding:16px}.class-staff-cards>button{width:100%;min-width:0}}

#editor.certification-editor,#editor.group-editor{width:min(820px,calc(100vw - 32px));height:auto!important;padding:24px}#editor.certification-editor #editForm,#editor.group-editor #editForm{height:auto!important}#editor.certification-editor #editTitle,#editor.group-editor #editTitle{font-size:23px;line-height:1.3}.cert-completion-summary{display:flex;flex-direction:column;gap:5px;padding:14px 16px;margin:0 0 18px;background:var(--soft);border-radius:12px}.cert-completion-summary strong{font-size:17px}.cert-completion-summary span{font-size:13px;color:var(--muted)}.cert-completion-fields{gap:14px}.cert-completion-fields .cert-date-control{padding:12px;border:1px solid var(--line);border-radius:12px;min-width:0;margin:0}.cert-completion-fields legend{font-size:13px;font-weight:700;padding:0 4px}.cert-completion-fields .cert-date-control input,.cert-completion-fields .app-month-picker>summary{min-height:40px;font-size:14px;padding:9px}.cert-shallow{background:var(--soft);border-radius:10px;padding:12px 14px;margin:0;font-size:14px!important}.cert-shallow input{width:22px;height:22px;min-width:22px;accent-color:var(--blue)}.cert-completion-notes{font-size:13px}.cert-completion-notes textarea{min-height:85px!important;font-size:14px}
.class-history-filter{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;white-space:nowrap;margin:0!important}.class-history-filter>.app-select-picker{width:195px}.class-history-filter>span{font-size:13px}.class-close-person select[data-native=true]{width:100%;min-height:42px;padding:9px 12px;font-size:14px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--blue);font-weight:650}.class-close-results .class-close-person{gap:12px;padding:12px 14px;grid-template-columns:minmax(140px,1fr) minmax(140px,180px) auto auto}.class-close-person>label{font-size:12px;gap:5px}.class-close-person>strong{font-size:14px}.class-close-person strong small{font-size:11px;margin-top:4px}.class-edit-delete{display:flex;justify-content:flex-end;margin:10px 0}.icon-delete{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:8px;border-radius:10px}
.group-catalog .group-open-card{display:flex;flex-direction:column;gap:7px;align-items:flex-start;text-align:left;cursor:pointer;min-width:0;background:white}.group-open-card:hover{border-color:var(--blue);background:var(--soft)}.group-open-card strong{font-size:15px;color:var(--blue)}.group-open-card small{font-size:12px;color:var(--muted)}.group-open-card .group-job-list{font-size:12px;line-height:1.6;font-weight:400;margin:0}.group-jobs-editor{border:1px solid var(--line);border-radius:12px;padding:12px;margin:16px 0}.group-jobs-editor>summary{font-size:14px;font-weight:700;cursor:pointer}.group-jobs-editor .filter-options{margin-top:12px;max-height:200px;overflow-y:auto}.group-member-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-member-heading h3{margin:0;font-size:17px}.group-member-heading span{font-size:13px;color:var(--muted)}.group-member-tools{display:flex;gap:10px;margin:12px 0}.group-member-tools input{flex:1;min-width:0}.group-member-tools select{width:auto;max-width:200px}.group-member-actions{display:flex;gap:8px;flex-wrap:wrap}.group-member-actions button{padding:7px 11px;font-size:12px}.group-member-list{max-height:300px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;overscroll-behavior:contain}.group-member{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line);margin:0!important;cursor:pointer}.group-member:last-child{border-bottom:0}.group-member:has(input:checked){background:var(--soft)}.group-member>input{width:22px;height:22px;min-width:22px;accent-color:var(--blue)}.group-member>span{display:flex;flex-direction:column;gap:3px}.group-member strong{font-size:13px}.group-member small{font-size:11px;color:var(--muted)}
@media(max-width:650px){.class-close-results .class-close-person{grid-template-columns:1fr 1fr}.group-member-tools{flex-wrap:wrap}.group-member-tools input{flex-basis:100%}.cert-completion-fields{grid-template-columns:1fr}}

/* Closed class review and profile certification actions */
.class-destination-row[hidden]{display:none!important}
.closed-class-roster th small,.closed-class-roster td small{display:block;margin-top:5px;font-weight:400}
.closed-class-roster td{vertical-align:top}.closed-class-roster td:first-child strong{font-size:1.06rem}
.closed-class-staff{display:flex;gap:12px;flex-wrap:wrap}.closed-class-staff>span{padding:12px 18px;border-radius:12px;background:var(--soft)}.closed-class-staff small{display:block;margin-top:5px}
.profile-cert-item>.profile-cert-card{padding-right:18px}

/* Compact, colorful class setup */
#editor.class-setup-editor{width:min(800px,calc(100vw - 28px));padding:22px}
.class-setup-section{border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}
.class-setup-section h3{margin:0 0 13px;font-size:14px;line-height:1.3;letter-spacing:.02em}
.class-setup-details{background:linear-gradient(120deg,#f7f2ff,#fbfaff);border-color:#e4d5f5;border-top:3px solid #9961c9}
.class-setup-details h3{color:#6e3e99}.class-setup-sessions{background:#f3fbfa;border-color:#cce8e3;border-top:3px solid #369e91}.class-setup-sessions h3{color:#226e65}
.class-setup-notes{background:#fff8f0;border-color:#f2dfc8}.class-setup-notes>label{color:#805728}
#editor.class-setup-editor .grid{gap:12px 18px;margin:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#editor.class-setup-editor label,.class-setup-editor .class-staff-field>span{font-size:13px;gap:6px}
#editor.class-setup-editor input,#editor.class-setup-editor select,#editor.class-setup-editor .app-select-trigger,#editor.class-setup-editor summary{font-size:14px;min-height:40px;padding:9px 11px}
#editor.class-setup-editor input[type=checkbox]{min-height:0;padding:0;width:20px;height:20px}
#editor.class-setup-editor textarea{min-height:66px;font-size:14px;background:white}
.class-setup-editor .class-staff-picker{background:white;margin-top:6px}.class-setup-editor .class-staff-options{max-height:180px;overflow-y:auto}
.class-setup-editor .class-session{display:grid;grid-template-columns:64px minmax(130px,1.3fr) minmax(100px,1fr) minmax(100px,1fr);gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #dceeea}
.class-setup-editor .class-session[hidden]{display:none}.class-setup-editor .class-session:last-child{border-bottom:0}
.class-setup-editor .class-session>strong{font-size:13px;color:#226e65;background:#e0f1ed;border-radius:8px;padding:8px 6px;text-align:center}
.class-setup-editor .class-renewal-times{background:#fff8ee;border-color:#eedac0;margin:12px 0 0}.class-setup-editor .class-renewal-times summary{color:#886027;font-weight:650}
.class-setup-editor .class-renewal-times .class-session{grid-template-columns:64px 1fr 1fr}.class-setup-editor .class-renewal-times .class-session>strong{color:#886027;background:#f6e8ce}
.class-setup-editor .class-edit-delete{justify-content:flex-start;margin:6px 0 0}.class-setup-editor .icon-delete{color:#ae2844;background:#fff0f3;border-color:#efbbca}.class-setup-editor .icon-delete:hover{background:#ffe0e9;border-color:#d46c88}
.closed-class-roster .class-progress.low,.closed-class-roster .class-payment.unpaid{background:#fee2e2;color:#a11d2d}.closed-class-roster .class-progress.middle{background:#ffedd5;color:#a9470c}.closed-class-roster .class-progress.high{background:#fef3c7;color:#805b0c}.closed-class-roster .class-progress.complete,.closed-class-roster .class-payment.paid{background:#dcfce7;color:#17643a}
@media(max-width:600px){#editor.class-setup-editor .grid{grid-template-columns:1fr}.class-setup-editor .class-session{grid-template-columns:1fr 1fr}.class-setup-editor .class-session>strong{grid-column:1/-1}.class-setup-editor .class-session>label:first-of-type{grid-column:1/-1}.class-setup-editor .class-renewal-times .class-session{grid-template-columns:1fr 1fr}.class-setup-editor .class-renewal-times .class-session>label:first-of-type{grid-column:auto}.class-setup-section{padding:12px}}
/* Candidate tracking and inline profile history */
.unlinked-tools{align-items:center}.unlinked-tools>label{display:flex;align-items:center;gap:9px;white-space:nowrap}.unlinked-list{display:grid;gap:12px}.unlinked-card{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;border:1px solid var(--line);border-left:4px solid #8e5fc3;background:white;border-radius:14px}.unlinked-name{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.unlinked-name .person{font-size:17px}.unlinked-age{font-size:12px;padding:5px 9px;border-radius:20px;background:#fff2d8;color:#805716}.unlinked-card p{margin:7px 0;color:var(--muted);font-size:13px}.unlinked-card small{color:var(--muted)}.unlinked-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.candidate-summary{display:flex;justify-content:space-between;gap:14px;padding:14px;background:var(--soft);border-radius:12px;margin-bottom:14px}.candidate-history{display:grid;gap:10px;margin:14px 0}.candidate-history article{border:1px solid var(--line);border-left:4px solid #379e94;border-radius:12px;padding:14px}.candidate-history article>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.candidate-history small{display:block;margin-top:7px;color:var(--muted)}.candidate-history p{font-size:13px;margin:9px 0 0}.candidate-link{padding:16px;border:1px solid #e2d1f2;background:#faf6ff;border-radius:14px}.candidate-link h3{margin:0 0 12px}.candidate-link .group-member-list{margin-top:10px}.candidate-returning{border:1px solid #edcf92;border-left:4px solid #d59a38;border-radius:10px;background:#fff7e5;padding:12px;margin-top:12px;color:#744f1d}.candidate-returning p{font-size:13px;margin:6px 0 0}
.profile-history-tabs{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.profile-history-tabs button{font-size:17px;padding:10px 16px}.profile-class-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.profile-class-tools>span{color:var(--muted);font-size:13px}.profile-class-tools>label{display:flex;align-items:center;gap:8px;font-size:12px}.profile-class-tools select{width:auto;min-width:150px;padding:8px}.profile-class-list{display:grid;gap:8px}.profile-class-list>button{display:flex;align-items:center;gap:18px;text-align:left;padding:14px 16px;border-color:var(--line);background:var(--soft)}.profile-class-list time{min-width:110px;font-size:13px;color:var(--muted)}.profile-class-list strong{font-size:15px}.closed-class-actions{display:flex;align-items:center;gap:12px}.closed-class-roster{min-width:100%;border-collapse:separate;border-spacing:0}.closed-class-roster th{position:static!important;font-size:12px;vertical-align:top;background:#eee7f7;padding:13px 12px}.closed-class-roster td{padding:14px 12px;font-size:13px;line-height:1.6;border-bottom:1px solid var(--line)}.closed-class-roster td:first-child{min-width:180px}.closed-class-roster tbody tr:nth-child(even){background:#faf7fd}.closed-class-roster .class-history-result{white-space:nowrap}.closed-class-roster td small{font-size:11px;line-height:1.5;color:var(--muted)}
@media(max-width:650px){.unlinked-card{align-items:flex-start;flex-direction:column}.unlinked-card-actions{align-self:flex-end}.unlinked-tools>label{width:100%}.candidate-summary{flex-direction:column}.profile-class-list>button{gap:10px}.profile-class-list time{min-width:90px}}
/* Compact class and certification dialogs */
#dialogAuxActions{display:flex;align-items:center;margin-right:auto;gap:8px}#dialogAuxActions:empty{display:none}#dialogAuxActions .icon-delete{color:#ae2844;background:#fff0f3;border-color:#efbbca;width:40px;height:40px}
#editor .class-follow-on-tools{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:14px}#editor .class-follow-on-tools>.check{white-space:nowrap;align-self:center;margin:0;font-size:12px}.class-destination-bulk{display:grid;gap:6px;min-width:0}.class-destination-bulk>span{font-weight:650;font-size:12px}#editor .class-destination-apply{padding:9px 11px;font-size:12px;white-space:nowrap;min-height:40px}#editor .class-follow-on-panel select[data-native=true]{display:block;width:100%;min-width:0;max-width:100%;padding:9px 28px 9px 10px;font-size:13px;min-height:40px;background:white;border:1px solid var(--line);border-radius:9px;color:var(--ink);text-overflow:ellipsis}.class-follow-on-panel>p{font-size:13px;line-height:1.5;margin-bottom:14px}.class-destination-row{grid-template-columns:minmax(130px,.9fr) minmax(0,1.3fr);align-items:center;gap:12px}.class-destination-row>.check{font-size:13px;min-width:0}
.class-close-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 10px}.class-close-heading h3{margin:0}.class-close-heading button{font-size:13px;background:#e5f5ed;color:#1b6b43;border-color:#b5ddc6}.class-close-results .class-close-person{grid-template-columns:minmax(140px,1fr) minmax(125px,160px) auto;gap:12px}.class-close-options{display:flex;align-items:center;gap:12px;white-space:nowrap}.class-close-options>.check{display:flex;align-items:center;flex-direction:row;gap:7px;white-space:nowrap;margin:0}.class-close-options>button{padding:8px 10px;font-size:12px}.class-close-options input{flex-shrink:0}
#editor.certification-editor .cert-completion-fields{grid-template-columns:1fr}#editor.certification-editor .cert-date-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:0}#editor.certification-editor .cert-date-control>legend{grid-column:1/-1}#editor.certification-editor .cert-date-control>.cert-date-actions{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap}#editor.certification-editor .cert-date-actions button{height:36px;font-size:12px;padding:7px 11px}
.training-button.ellis-cert,.profile-cert-card.ellis-cert,.certification-chips>.ellis-cert{background:#fce5ef!important;color:#942454!important;border-color:#e58bb0!important;border-left-color:#db4387!important}.ellis-cert small{color:#942454!important}.training-button.ellis-cert.shallow-cert,.profile-cert-card.ellis-cert.shallow-cert,.certification-chips>.ellis-cert.shallow-cert{background:#e3ebf4!important;color:#173754!important;border-color:#718ca9!important;border-left-color:#173754!important}.ellis-cert.shallow-cert small{color:#173754!important}.ellis-cert.expired-cert,.training-button.ellis-cert.expired{outline:2px solid #b82943;outline-offset:-2px}
@media(max-width:650px){.class-close-results .class-close-person{grid-template-columns:1fr}.class-close-options{justify-content:flex-start}.class-destination-row{grid-template-columns:1fr}#editor .class-follow-on-tools{grid-template-columns:minmax(0,1fr) auto}#editor .class-follow-on-tools>.check{grid-column:1/-1}#editor.certification-editor .cert-date-control{grid-template-columns:1fr}#editor.certification-editor .cert-date-control>.cert-date-actions{justify-content:flex-start}}
