/* Employee workspace: focused phone navigation, with the full menu on desktop. */
/* Keep completion dialogs above the fixed employee header (25) and navigation (30). */
.employee-shell~.modal-backdrop{z-index:40}
.employee-shell{--navy:#173753;--orange:#fb9c45;background:#f3f5f7;color:#17314a;min-height:100dvh}
.employee-shell *, .photo-upload-dialog *{box-sizing:border-box}
.employee-shell [hidden],.photo-upload-dialog [hidden],.employee-closeout-modal [hidden]{display:none!important}
.employee-shell svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}
.employee-shell button,.employee-shell .button-link,.employee-shell a.secondary{min-height:44px}
.employee-shell .primary,.employee-closeout-modal .primary{background:var(--orange,#fb9c45);color:#1a2c3b;border:1px solid transparent;font-weight:750}
.employee-shell .primary:hover,.employee-closeout-modal .primary:hover{background:#ffae61}
.employee-shell .secondary{background:#fff;border:1px solid #d8e0e6;color:#24435e}
.employee-shell button:focus-visible,.employee-shell a:focus-visible{outline:3px solid #2384b9;outline-offset:3px}
.employee-sidebar{background:var(--navy);width:252px;padding:28px 20px;color:#fff}
.employee-sidebar .brand{font-size:19px;color:#fff;gap:12px}
.employee-person{display:flex;align-items:center;gap:12px;padding:25px 5px;margin:8px 0 16px;border-bottom:1px solid #ffffff22}
.employee-person strong,.employee-person small{display:block}.employee-person small{color:#bbcede;margin-top:3px;font-size:12px}
.employee-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#31516d;color:#fff;font-size:13px;font-weight:750;flex-shrink:0}
.employee-sidebar nav,.employee-drawer nav{display:grid;gap:7px}
.employee-sidebar nav button,.employee-drawer nav button{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-radius:10px;background:transparent;color:#dce7ef;padding:13px 11px;font-weight:550;font-size:14px}
.employee-sidebar nav button[aria-current],.employee-drawer nav button[aria-current]{background:#ffffff17;color:#fff;box-shadow:inset 3px 0 #fb9c45}
.employee-logout{display:flex;align-items:center;gap:12px;background:transparent;color:inherit;border:1px solid #ffffff30;padding:12px;border-radius:10px;width:100%}
.employee-main{margin-left:252px;padding:30px 36px;max-width:none;min-width:0}
.employee-main .topbar{margin-bottom:18px;align-items:center}.employee-main .topbar h1{font-size:28px;line-height:1.2;margin:6px 0}
.employee-date{font-size:12px;margin:0;text-transform:capitalize}.employee-intro{margin:-6px 0 22px;font-size:14px}
.employee-main .panel{padding:24px;border:1px solid #e0e6eb;border-radius:18px;box-shadow:0 3px 10px #17375304;margin-bottom:20px}
.employee-home-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start}
.employee-job-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;color:#607183;margin-bottom:16px}
.employee-state{display:flex;gap:6px;align-items:center;color:#315c50;background:#edf6f1;padding:6px 9px;border-radius:7px;font-size:12px;font-weight:700}.employee-state svg{width:15px;height:15px}
.employee-job h2{font-size:24px;margin:0 0 6px}.employee-job h3{font-size:15px;font-weight:500;margin:0 0 14px;color:#52677b}
.employee-job-description{font-size:15px;line-height:1.6;white-space:pre-line}.employee-address{display:flex;align-items:flex-start;gap:7px;color:#5c7183;font-size:13px;line-height:1.5}.employee-address svg{width:17px;height:20px}
.employee-work-button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px!important;margin-top:22px;border-radius:11px;font-size:15px}
.employee-card-actions{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}.employee-card-actions>*{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;font-size:13px;padding:10px;white-space:normal;min-width:110px}
.employee-card-actions svg{width:18px;height:18px}.employee-action-status:empty{display:none}.employee-action-status{font-size:13px;line-height:1.5}
.employee-running-time{display:block;font-size:32px;font-variant-numeric:tabular-nums;margin:20px 0 0;color:#173753;letter-spacing:-.7px}
.employee-next-section{margin:26px 0}.employee-main h2{line-height:1.3}.employee-next-section h2,.employee-news h2,.employee-history-panel h2{font-size:18px;margin:0 0 16px}
.employee-next-row{display:flex;gap:16px;align-items:center;padding:17px 0;border-top:1px solid #e1e7ec}.employee-next-row>div:first-child{min-width:72px;font-size:13px}.employee-next-row>div:nth-child(2){flex:1;min-width:0}.employee-next-row strong{display:block;font-size:13px}.employee-next-row p,.employee-next-row small{font-size:12px;color:#617487;display:block;margin:5px 0 0}.employee-next-row .ghost{padding:8px}
.employee-month-summary{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}.employee-month-summary span{font-size:12px;color:#62788a}.employee-month-summary strong{display:block;font-size:24px;margin-top:8px;letter-spacing:-.5px}.employee-month-summary button{font-size:12px}
.employee-news-item+article{border-top:1px solid #e2e7ed;padding-top:18px;margin-top:18px}.employee-news-item>div:first-child{display:flex;align-items:center;gap:9px;font-size:12px}.employee-news-item svg{width:18px;color:#a96524}.employee-news-item small{color:#657589;font-size:10px;margin-left:auto}.employee-news-item>p{font-size:14px;line-height:1.65;white-space:pre-line}
.employee-history-entry{border-top:1px solid #e2e8ee}.employee-history-entry summary{padding:16px 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.employee-history-entry summary::-webkit-details-marker{display:none}.employee-history-entry summary strong{display:block;font-size:13px}.employee-history-entry summary small{display:block;color:#657589;font-size:11px;margin-top:5px}.employee-history-entry summary svg{width:17px}.employee-history-entry[open] summary svg{transform:rotate(90deg)}.employee-history-content{padding-bottom:18px;font-size:13px;line-height:1.6}
.employee-main .order-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}.employee-order-card{min-width:0;border-radius:16px;padding:22px;background:#fff}.employee-order-card h2{font-size:20px}.employee-order-card p{font-size:14px;line-height:1.5}.employee-order-card>.wide{margin-top:12px}.employee-order-tabs{display:flex;gap:8px;margin:0 0 18px}.employee-order-tabs button[aria-pressed=true]{background:#173753;color:#fff;border-color:#173753}.employee-search{margin-bottom:22px}.employee-order-due{font-size:12px!important;font-weight:650}.employee-clock-panel{max-width:740px}.employee-empty-day p{line-height:1.6}
.employee-photo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff4e7;border:1px solid #f0d3b4;padding:14px;border-radius:12px;margin-bottom:20px;font-size:12px}.employee-photo-banner small{display:block;margin-top:5px;line-height:1.4}.employee-photo-banner button{flex-shrink:0}
.employee-day{display:grid;grid-template-columns:130px minmax(150px,1fr) minmax(190px,1fr);gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid #e1e7ec}.employee-day small{display:block;font-size:11px;color:#67798a;margin-top:4px}.employee-day>.field{margin:0}.employee-day-times{display:flex;gap:8px}.employee-day-times .field{min-width:0;margin:0;font-size:11px;flex:1}.employee-day-times input{min-width:0;width:100%}.employee-availability-days{margin:15px 0 22px}.employee-main .vacation-list article{display:flex;justify-content:space-between;gap:10px;padding:14px 0}.employee-main .vacation-list small{display:block;margin-top:5px}
.employee-mobile-header,.employee-bottom-nav{display:none}.employee-drawer{position:fixed;inset:0 auto 0 0;margin:0;border:0;max-height:none;height:100dvh;width:min(320px,86vw);max-width:none;padding:22px;background:#173753;color:#fff;box-shadow:14px 0 60px #0004}.employee-drawer::backdrop{background:#101e3180}.employee-drawer-head{display:flex;justify-content:space-between;align-items:center;font-size:20px}.employee-menu-button{display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:inherit;width:44px;height:44px;padding:9px;border-radius:9px}.employee-menu-button svg{width:24px;height:24px}.employee-drawer-foot{margin-top:32px;padding-bottom:20px}.employee-menu-heading{font-size:10px;letter-spacing:1.3px;color:#9eb7ca;margin:25px 10px 16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.employee-closeout-modal{max-width:760px}.employee-closeout-modal form{display:grid;gap:18px}.employee-closeout-modal h3{margin:0 0 8px;font-size:16px}.employee-closeout-modal .catalog-grid{gap:8px}.employee-closeout-modal .catalog-item{min-width:0}.employee-closeout-modal .catalog-item>label{white-space:normal}.employee-closeout-modal .catalog-item>span{min-width:0}.employee-closeout-modal .catalog-item input:not([type=checkbox]){width:72px;min-width:0}.closeout-materials{padding:16px;background:#f4f6f8;border-radius:12px}.closeout-materials summary{cursor:pointer;font-weight:650;margin-bottom:15px;font-size:14px}.closeout-photos{border-top:1px solid #e2e8ed;padding-top:20px}.closeout-photos p{font-size:13px;line-height:1.6}
.photo-upload-dialog{color:#17314a;background:#fff;border:1px solid #dde5eb;border-radius:20px;width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:24px;box-shadow:0 20px 90px #0004}.photo-upload-dialog::backdrop{background:#0d1e3288}.photo-upload-dialog h2{margin:0;font-size:24px}.photo-upload-dialog .modal-head{gap:12px}.photo-upload-dialog .modal-head p{font-size:12px}.photo-upload-dialog button,.photo-picker{min-height:44px}.photo-upload-section{border-top:1px solid #e2e7eb;padding:18px 0}.photo-upload-section h3{margin:0;font-size:18px}.photo-upload-section .home-section-head{margin-bottom:12px;gap:8px}.photo-upload-section small{font-size:11px}.photo-picker{position:relative;display:flex;align-items:center;justify-content:center;padding:12px;cursor:pointer;border:1px solid #cfdbe3;border-radius:10px;color:#24435e;font-size:14px;font-weight:650;margin-top:12px}.photo-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.photo-picker:focus-within{outline:3px solid #2384b9}.photo-upload-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.photo-upload-gallery a{aspect-ratio:1;overflow:hidden;border-radius:9px;background:#e9edf0}.photo-upload-gallery img{width:100%;height:100%;object-fit:cover}.photo-file-list{list-style:none;padding:0;margin:12px 0 0;max-height:180px;overflow:auto}.photo-file-list li{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid #eef1f4;font-size:12px;overflow-wrap:anywhere}.photo-upload-dialog>[role=status]{font-size:13px;line-height:1.6}.photo-upload-dialog>[data-retry-photos]{margin-bottom:14px;width:100%}
@media(max-width:1100px){.employee-main{padding:25px}.employee-home-columns{grid-template-columns:1fr}.employee-day{grid-template-columns:110px 1fr}.employee-day-times{grid-column:2}}
@media(max-width:760px){.employee-shell{display:block}.employee-sidebar{display:none!important}.employee-mobile-header{display:flex;position:sticky;top:0;z-index:25;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;background:#173753;color:#fff;min-height:74px}.employee-mobile-header>div{flex:1}.employee-mobile-header strong{font-size:18px;display:block;letter-spacing:-.2px}.employee-mobile-header small{display:block;font-size:9px;letter-spacing:1.6px;margin-top:5px;color:#b6cede}.employee-mobile-header .employee-avatar{width:35px;height:35px;font-size:11px}.employee-main{margin-left:0!important;padding:22px 18px calc(92px + env(safe-area-inset-bottom));width:100%}.employee-main .topbar{display:flex;padding:0;margin:0 0 15px;border:0;background:none}.employee-main .topbar h1{font-size:27px;letter-spacing:-.7px}.employee-main .topbar .actions:empty{display:none}.employee-date{font-size:11px}.employee-intro{font-size:12px;line-height:1.6;margin:0 0 18px}.employee-main .panel{padding:20px;border-radius:16px;margin-bottom:18px}.employee-home-columns{display:block}.employee-job h2{font-size:24px;letter-spacing:-.5px}.employee-job h3{font-size:14px}.employee-job-description{font-size:14px}.employee-job-meta{font-size:10px;gap:5px}.employee-state{font-size:10px;padding:6px}.employee-job .employee-card-actions>*{font-size:12px}.employee-work-button{font-size:14px}.employee-bottom-nav{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;z-index:30;bottom:0;left:0;right:0;padding:7px 15px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #dce4eb;background:#fff;box-shadow:0 -3px 20px #17375305}.employee-bottom-nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:10px;background:transparent;border:0;color:#6a7d8e;min-height:52px}.employee-bottom-nav button[aria-current]{color:#173753;font-weight:750}.employee-bottom-nav button[aria-current] svg{color:#bd6724}.employee-bottom-nav svg{width:22px;height:22px}.employee-month-summary strong{font-size:23px}.employee-news-item>div:first-child{flex-wrap:wrap}.employee-day{grid-template-columns:92px minmax(0,1fr);gap:10px;font-size:13px}.employee-day select{font-size:13px;width:100%;min-width:0}.employee-day-times{grid-column:1 / -1}.employee-main input,.employee-main select,.employee-main textarea,.employee-closeout-modal input:not([type=checkbox]),.employee-closeout-modal select,.employee-closeout-modal textarea{font-size:16px}.employee-order-card{padding:19px}.employee-order-card h2{font-size:22px}.employee-photo-banner{align-items:flex-start}.employee-main .time-account-page,.employee-main .employee-time-account{min-width:0}.employee-main .form-grid{grid-template-columns:1fr}.employee-main .form-grid .span-2{grid-column:auto}.employee-closeout-modal{padding:21px!important;width:100%;max-height:calc(100dvh - 24px)}.employee-closeout-modal .catalog-grid{grid-template-columns:1fr}.photo-upload-dialog{padding:20px}.employee-shell~.modal-backdrop{padding:12px}.employee-shell~.modal-backdrop .modal{max-height:calc(100dvh - 24px);overflow:auto}.employee-main .table-wrap{max-width:100%;overflow:auto}}
/* Shared navigation frame for employees and administrators. */
.employee-shell{grid-template-columns:252px minmax(0,1fr)}
.employee-main{margin-left:0}
.employee-sidebar{display:flex;height:100dvh;min-height:0;overflow:hidden}
.employee-sidebar>nav{flex:1;min-height:0;overflow-y:auto;align-content:start;scrollbar-width:thin;scrollbar-color:#55738c transparent}
.employee-sidebar .sidebar-foot{flex-shrink:0;padding:16px 0 0;margin-top:18px}
.admin-sidebar{padding:24px 16px 20px}
.admin-sidebar .brand{padding:0 6px 16px}
.admin-sidebar .brand img{width:40px!important;height:40px!important}
.admin-sidebar .employee-person{margin:0 0 12px;padding:12px 6px 18px;flex-shrink:0}
.admin-sidebar .employee-person strong{font-size:13px}
.admin-nav-group{margin:0 0 15px}
.admin-nav-group h2{font-size:10px;font-weight:650;letter-spacing:1.2px;text-transform:uppercase;color:#abc0d1;margin:12px 11px 8px}
.employee-sidebar .admin-nav-group button,.admin-drawer .admin-nav-group button{display:flex;align-items:center;gap:11px;width:100%;font-size:13px;min-height:43px;padding:10px 11px;margin-bottom:3px}
.admin-nav-group svg{width:19px;height:19px}
.admin-nav-group button:hover{background:#ffffff12}
.admin-drawer .employee-person{margin-bottom:8px;padding:20px 4px}
.admin-drawer .employee-drawer-head{position:sticky;top:-22px;padding:10px 0;background:#173753;z-index:2}
.admin-drawer .employee-drawer-foot{margin-top:18px}
.admin-main .topbar{align-items:flex-start;text-align:left}
.admin-main .topbar>div:first-child{min-width:0}
.admin-main .topbar .actions{justify-content:flex-end}
.admin-main .admin-hero{border-radius:18px}
.admin-main .admin-quick-stats article,.admin-main .stat,.admin-main .order-card{border-color:#e0e6eb;border-radius:16px}
.admin-main .order-card h3{color:#173753}
.admin-main .panel h2{color:#173753}
.admin-main .table-wrap{max-width:100%;overflow-x:auto}
.admin-main .topbar .actions:empty{display:none}
@media(min-width:761px){.employee-shell{display:grid}.employee-sidebar{display:flex}.employee-main{grid-column:2}.employee-main .topbar h1{font-size:28px}.admin-main{padding:28px clamp(20px,3vw,40px) 50px}}
@media(max-width:760px){.admin-main .topbar{flex-direction:column;gap:12px;align-items:stretch}.admin-main .topbar .actions{width:100%;justify-content:flex-start;display:flex;flex-wrap:wrap}.admin-main .topbar .actions>*{flex:1;min-width:120px;font-size:13px;white-space:normal}.admin-main .topbar h1{font-size:27px}.admin-main .admin-hero{padding:20px}.admin-main .panel{padding:18px}.admin-main .admin-quick-stats{gap:10px}.admin-main .admin-quick-stats article{padding:14px}.admin-main .admin-quick-stats strong{font-size:23px}.admin-main .toolbar{min-width:0}.admin-main .order-actions button{font-size:12px}.admin-drawer .admin-nav-group button{min-height:46px}}
.success-text{color:#176536!important;font-weight:600}
.employee-day,.employee-day>*{min-width:0;max-width:100%}
.employee-day-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;max-width:100%}
.employee-day-times[hidden]{display:none!important}
.employee-day-times input,.employee-day select,#availability-week,#vacation-form input{box-sizing:border-box;min-width:0;max-width:100%;width:100%;font-size:16px}
.employee-day [data-state-text]{font-size:13px;white-space:normal;overflow-wrap:anywhere;color:#34485a}
#availability-status,[data-copy-status],[data-task-error]{white-space:normal;overflow-wrap:anywhere;scroll-margin-bottom:110px}
.checklist-task{border-bottom:1px solid #d6dfe5;padding:16px 0;min-width:0}
.checklist-task select{width:100%;min-width:0;max-width:100%}
.checklist-confirm{display:flex;align-items:center;gap:12px;padding:12px 0}
.checklist-confirm input{width:24px;height:24px;flex:none}
@media(max-width:600px){.employee-day{grid-template-columns:minmax(0,1fr);gap:10px}.employee-day-times{grid-column:1}.employee-day>.field{width:100%}.employee-main #employee-availability-form button{max-width:100%;white-space:normal}.employee-main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}
@media(max-width:350px){.employee-day-times{grid-template-columns:minmax(0,1fr)}}
html{scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom));scroll-padding-top:90px}
.audit-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.audit-filters .field,.audit-filters input,.audit-filters select{min-width:0;max-width:100%;width:100%}.audit-filter-buttons{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.audit-events{display:grid;gap:12px;margin-bottom:18px}.audit-card{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(160px,.8fr) minmax(0,2fr);gap:20px;background:#fff;border:1px solid #dce4ea;border-radius:14px;padding:20px;overflow-wrap:anywhere}.audit-failed{border-left:4px solid #b52b35}.audit-card small{display:block;color:#586d7e;margin-top:6px}.audit-what>p{margin:8px 0}.audit-card details{margin-top:12px}.audit-card dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);gap:8px;font-size:13px}.audit-card dd{margin:0;white-space:pre-wrap}.audit-card dt{font-weight:600}.audit-entered{white-space:pre-wrap;background:#f2f5f7;padding:3px 5px;overflow-wrap:anywhere}.audit-card time{font-weight:600}
@media(max-width:1050px){.audit-card{grid-template-columns:minmax(0,1fr)}.audit-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.audit-filters{grid-template-columns:minmax(0,1fr)}.audit-card{padding:16px}.audit-card dl{grid-template-columns:minmax(0,1fr);gap:4px}.audit-card dd{margin-bottom:8px}.audit-filter-buttons button{max-width:100%;white-space:normal}}
