:root{--ink:#29271f;--muted:#706b5f;--line:#e6dfcf;--surface:#fff;--bg:#f8f5ee;--green:#b38728;--green-dark:#765716;--green-soft:#f5ead0;--amber:#b7791f;--amber-soft:#fff5df}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}body{min-height:100vh;margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.loginPage{background:linear-gradient(145deg,#4b3915 0%,#b38728 48%,#f8f5ee 48%);place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{background:#fff;border-radius:22px;width:min(100%,420px);padding:36px;box-shadow:0 24px 70px #0a231d38}.loginLogo{width:min(100%,260px);height:auto;margin:0 0 25px;display:block}.loginCard h1,.welcome h1{letter-spacing:-.04em;margin:4px 0 8px}.loginCard h1{font-size:2rem}.eyebrow{color:var(--green-dark);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.75rem;font-weight:800}.muted{color:var(--muted)}.loginForm{gap:18px;margin-top:26px;display:grid}.loginForm label{gap:7px;font-size:.9rem;font-weight:700;display:grid}.loginForm input{border:1px solid #cfdad6;border-radius:10px;outline:none;min-height:48px;padding:0 14px}.loginForm input:focus{border-color:var(--green);box-shadow:0 0 0 3px #b3872829}.loginForm button,.primaryLink,.todayStatus a{background:var(--green);color:#fff;text-align:center;cursor:pointer;border:0;border-radius:10px;padding:14px 18px;font-weight:800}.errorBox{color:#9b1c1c;background:#fff0f0;border-radius:9px;padding:12px;font-size:.9rem}.appHeader{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:12px max(20px,50vw - 560px);display:flex;position:sticky;top:0}.headerBrand,.headerUser{align-items:center;gap:11px;display:flex}.headerBrand img{width:150px;height:auto;display:block}.headerUser div{text-align:right;display:grid}.headerUser small{color:var(--muted);margin-top:2px}.adminShortcut{background:var(--green-soft);color:var(--green-dark);border-radius:9px;padding:9px 12px;font-size:.85rem;font-weight:800}.pushActive{color:var(--green-dark);font-size:.75rem;font-weight:800}.pushPrompt{gap:3px;display:grid}.pushPrompt button{background:var(--amber-soft);color:#8a5b10;cursor:pointer;border:0;border-radius:8px;padding:8px 10px;font-weight:800}.pushPrompt small{color:#9b1c1c;max-width:180px;font-size:.68rem}.ghostButton{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:9px 12px}.page{width:min(1120px,100% - 32px);margin:0 auto;padding:36px 0 60px}.welcome h1{font-size:clamp(2rem,5vw,3.4rem)}.welcome>p:not(.eyebrow){color:var(--muted)}.primaryLink{margin-top:16px;display:inline-block}.todayStatus{border-radius:16px;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding:20px;display:flex}.todayStatus.missing{background:var(--amber-soft);border:1px solid #f1d79c}.todayStatus.done{background:var(--green-soft);border:1px solid #b9dfd1}.todayStatus div{gap:5px;display:grid}.todayStatus span{color:#52635d}.operatorActions{justify-content:flex-end;margin-top:12px;display:flex}.operatorActions a{border:1px solid var(--green);color:var(--green-dark);background:#fff;border-radius:10px;padding:11px 15px;font-weight:800}.sectionBlock{margin-top:42px}.sectionTitle{justify-content:space-between;align-items:end;margin-bottom:16px;display:flex}.sectionTitle h2{margin:4px 0 0;font-size:1.5rem}.countBadge{background:var(--ink);color:#fff;border-radius:50%;place-items:center;min-width:34px;height:34px;font-weight:800;display:grid}.jobGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.jobCard,.emptyState{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.jobTop{justify-content:space-between;align-items:center;gap:15px;display:flex}.jobTop small,.jobCard p,.jobDates{color:var(--muted)}.statusTag,.urgentTag{background:var(--green-soft);color:var(--green-dark);border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:800}.urgentTag{color:#b54708;background:#fff0e7}.jobCard h3{margin:16px 0 7px;font-size:1.12rem}.jobCard p{margin:0}.jobDates{border-top:1px solid var(--line);gap:22px;margin-top:20px;padding-top:15px;font-size:.82rem;display:flex}.jobDates span{gap:4px;display:grid}.jobDates strong{color:var(--ink)}.emptyState{color:var(--muted);grid-column:1/-1;gap:6px;display:grid}.emptyState strong{color:var(--ink)}.backRow{color:var(--green-dark);margin-bottom:22px;font-weight:750}.sheetLayout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.sheetIntro h1{text-transform:capitalize;letter-spacing:-.035em;margin:5px 0 7px;font-size:clamp(1.8rem,4vw,2.7rem)}.sheetIntro>p:last-child{color:var(--muted);margin-bottom:22px}.timesheetForm{gap:18px;display:grid}.sheetRows{gap:15px;display:grid}.sheetRow{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.rowHeading{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.removeButton{color:#b42318;cursor:pointer;background:0 0;border:0;font-weight:750}.fieldGrid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.fieldGrid label,.generalNotes{gap:7px;font-size:.88rem;font-weight:750;display:grid}.fieldGrid input,.fieldGrid select,.fieldGrid textarea,.generalNotes textarea,.dateDisplay{width:100%;color:var(--ink);background:#fff;border:1px solid #cfdad6;border-radius:9px;outline:none;padding:11px 12px}.fieldGrid input:focus,.fieldGrid select:focus,.fieldGrid textarea:focus,.generalNotes textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #b3872824}.wideField,.fullField{grid-column:1/-1}.addRowButton{border:1px dashed var(--green);color:var(--green-dark);background:var(--green-soft);cursor:pointer;border-radius:10px;justify-self:start;padding:11px 14px;font-weight:800}.generalNotes{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.totalBar{background:var(--ink);color:#fff;border-radius:14px;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.totalBar strong{font-size:1.4rem}.successBox{color:#12634d;background:#e8f6ef;border-radius:9px;padding:12px;font-size:.9rem;font-weight:700}.saveButton{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:11px;padding:16px 20px;font-weight:850}.saveButton:disabled{opacity:.65;cursor:wait}.historyPanel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px;position:sticky;top:96px}.historyPanel h2{margin:0 0 15px;font-size:1.15rem}.datePickerForm{grid-template-columns:1fr auto;gap:7px;margin-bottom:15px;display:grid}.dateDisplay{min-width:0;color:var(--muted)}.datePickerForm button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:0 10px;font-weight:750}.historyList{gap:7px;display:grid}.historyList a{background:var(--bg);border-radius:9px;justify-content:space-between;padding:11px;font-size:.85rem;display:flex}.historyList a.active{background:var(--green-soft);color:var(--green-dark)}.adminIntro{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.adminIntro h1{letter-spacing:-.04em;margin:5px 0;font-size:clamp(2rem,5vw,3.2rem)}.adminIntro p:last-child{color:var(--muted);margin:0}.excelButton{color:#fff;background:var(--green);white-space:nowrap;border-radius:10px;padding:13px 17px;font-weight:850}.adminIntroActions{align-items:center;gap:9px;display:flex}.secondaryAdminButton{border:1px solid var(--green);color:var(--green-dark);white-space:nowrap;background:#fff;border-radius:10px;padding:12px 16px;font-weight:850}.userAdminLayout{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);align-items:start;gap:18px;margin-top:22px;display:grid}.accountList{gap:0;display:grid}.accountList article{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(260px,1fr);align-items:center;gap:14px;padding:14px 0;display:grid}.accountList article:first-child{border-top:0;padding-top:0}.accountList article>div:first-child{gap:4px;min-width:0;display:grid}.accountList article span{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.passwordReset{grid-template-columns:1fr auto;gap:7px;display:grid}.passwordReset input{border:1px solid #cfdad6;border-radius:8px;min-width:0;padding:10px}.passwordReset button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:0 11px;font-weight:800}.passwordReset button:disabled{opacity:.5;cursor:not-allowed}.adminRecordActions{gap:5px;display:grid}.recordButtons{gap:6px;display:flex}.recordButtons button{border:1px solid var(--line);color:var(--green-dark);cursor:pointer;background:#fff;border-radius:7px;padding:7px 9px;font-size:.76rem;font-weight:800}.recordButtons .dangerButton{color:#9b1c1c;background:#fff6f5;border-color:#f3cbc7}.recordError{color:#9b1c1c}.recordModal{z-index:100;background:#14120d94;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.recordEditor{background:#fff;border-radius:16px;gap:14px;width:min(100%,480px);max-height:calc(100vh - 36px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 80px #00000047}.recordEditorHead{justify-content:space-between;align-items:center;font-size:1.15rem;display:flex}.recordEditorHead button{cursor:pointer;background:0 0;border:0;font-size:1.7rem}.recordEditor label{color:#475467;gap:6px;font-size:.82rem;font-weight:800;display:grid}.recordEditor input,.recordEditor textarea{border:1px solid #cfdad6;border-radius:8px;width:100%;padding:10px}.recordTime{grid-template-columns:1fr 1fr;gap:10px;display:grid}.recordEditorFooter{justify-content:flex-end;gap:8px;display:flex}.recordEditorFooter>button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:11px 14px;font-weight:800}.recordEditorFooter .saveButton{background:var(--green);color:#fff;border:0}.adminKpis{grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px;display:grid}.adminKpis article{border:1px solid var(--line);background:#fff;border-radius:14px;gap:8px;padding:18px;display:grid}.adminKpis span{color:var(--muted);font-size:.85rem}.adminKpis strong{font-size:1.8rem}.adminKpis .warningKpi{background:var(--amber-soft);border-color:#f1d79c}.filterPanel{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:150px 150px 210px minmax(220px,1fr) auto auto;align-items:end;gap:10px;padding:17px;display:grid}.filterPanel label{color:#475467;gap:6px;font-size:.78rem;font-weight:800;display:grid}.filterPanel input,.filterPanel select{background:#fff;border:1px solid #cfdad6;border-radius:8px;min-width:0;height:42px;padding:0 10px}.filterPanel button,.filterPanel>a{cursor:pointer;border:0;border-radius:8px;place-items:center;height:42px;padding:0 14px;font-weight:800;display:grid}.filterPanel button{background:var(--ink);color:#fff}.filterPanel>a{border:1px solid var(--line);background:#fff}.missingPanel{background:var(--amber-soft);border:1px solid #f1d79c;border-radius:14px;grid-template-columns:260px 1fr;gap:20px;margin-top:18px;padding:18px;display:grid}.missingPanel h2{margin:0 0 4px;font-size:1.05rem}.missingPanel p{color:#715b2d;margin:0;font-size:.85rem}.missingNames{flex-wrap:wrap;align-content:start;gap:7px;display:flex}.missingNames span{background:#fff;border:1px solid #eed293;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:750}.adminTablePanel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:18px;overflow:hidden}.tableHeader{border-bottom:1px solid var(--line);padding:18px 20px}.tableHeader h2{margin:0 0 4px;font-size:1.15rem}.tableHeader p{color:var(--muted);margin:0;font-size:.85rem}.adminTableWrap{overflow:auto}.adminTable{border-collapse:collapse;width:100%;min-width:850px}.adminTable th{text-align:left;color:#53625d;text-transform:uppercase;letter-spacing:.04em;background:#f7f9f8;padding:11px 14px;font-size:.75rem}.adminTable td{border-top:1px solid var(--line);vertical-align:top;padding:13px 14px;font-size:.88rem}.adminTable td:nth-child(3){gap:3px;display:grid}.adminTable td small{color:var(--green-dark);font-weight:800}.adminTable td em{color:#8a5b10;background:var(--amber-soft);border-radius:5px;width:max-content;padding:2px 6px;font-size:.7rem;font-style:normal;font-weight:800}.emptyCell{text-align:center;color:var(--muted);padding:32px!important}.absenceLayout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;margin-top:22px;display:grid}.absenceCard{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.absenceCard h2{margin:0 0 18px;font-size:1.2rem}.absenceForm{gap:16px;display:grid}.absenceTypePicker{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.absenceTypePicker button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:11px 7px;font-weight:800}.absenceTypePicker button.active{border-color:var(--green);background:var(--green-soft);color:var(--green-dark)}.requestList,.requestAdminList{display:grid}.requestList article,.requestAdminList article{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px 16px;padding:14px 0;display:grid}.requestList article:first-child,.requestAdminList article:first-child{border-top:0}.requestList article>div,.requestAdminList article>div{gap:4px;display:grid}.requestList article span,.requestAdminList article span{color:var(--muted);font-size:.83rem}.requestList article p,.requestAdminList article p{color:#475467;grid-column:1/-1;margin:3px 0 0;font-size:.86rem}.requestList article>small{color:var(--green-dark);grid-column:1/-1}.requestStatus{white-space:nowrap;border-radius:999px;align-self:start;padding:5px 8px;font-weight:850;font-size:.72rem!important}.requestStatus.pending{background:var(--amber-soft);color:#8a5b10!important}.requestStatus.approved{background:var(--green-soft);color:var(--green-dark)!important}.requestStatus.rejected{background:#fff0f0;color:#9b1c1c!important}.requestAdminList{padding:0 20px}.requestAdminList .managedRequest{opacity:.68}.requestActions{align-items:start;gap:6px;display:flex}.requestActions button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:8px 10px;font-weight:800}.requestActions button.reject{color:#9b1c1c;background:#fff0f0}.requestActions small{color:#9b1c1c}@media (max-width:680px){.loginPage{background:linear-gradient(180deg,#8a671c 0 28%,var(--bg) 28%);align-items:start;padding-top:70px}.loginCard{padding:28px 23px}.appHeader{padding:10px 16px}.headerBrand strong{display:none}.headerBrand img{width:118px}.adminShortcut,.pushActive{display:none}.headerUser div{max-width:150px}.page{width:min(100% - 24px,1120px);padding-top:26px}.todayStatus{flex-direction:column;align-items:stretch}.operatorActions{justify-content:stretch}.operatorActions a{text-align:center;width:100%}.jobGrid,.sheetLayout{grid-template-columns:1fr}.fieldGrid{grid-template-columns:1fr 1fr}.historyPanel{order:-1;position:static}.adminIntro{flex-direction:column;align-items:stretch}.adminIntroActions{grid-template-columns:1fr;display:grid}.secondaryAdminButton,.excelButton{text-align:center}.userAdminLayout,.accountList article,.adminKpis{grid-template-columns:1fr}.filterPanel{grid-template-columns:1fr 1fr}.filterPanel .searchFilter,.filterPanel button,.filterPanel>a{grid-column:1/-1}.missingPanel,.absenceLayout,.requestAdminList article{grid-template-columns:1fr}}
