*{box-sizing:border-box}:root{--epm-dark:#073f46;--epm-dark-2:#052f35;--epm-green:#79a93b;--epm-green-dark:#628f2d;--epm-blue:#2583b8;--epm-bg:#f3f7f6;--epm-border:#dce6e4;--text:#102a2d;--muted:#667b7d}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--epm-bg);color:var(--text)}button,input,select,textarea{font:inherit}.brand{display:flex;align-items:center;justify-content:center;text-align:center}.brandLogo{width:105px;height:105px;object-fit:contain;display:block}.appShell header .brandLogo{width:62px;height:62px}.adminShell aside .brandLogo{width:115px;height:115px}.loginShell{min-height:100vh;background:radial-gradient(circle at top,#0c5961 0%,var(--epm-dark) 35%,var(--epm-dark-2) 100%);display:grid;place-items:center;padding:24px}.loginCard,.successCard{width:min(100%,430px);background:#fff;color:var(--text);padding:38px;border:1px solid rgba(255,255,255,.15);border-radius:26px;box-shadow:0 24px 80px #0000004d}.loginCard .brandLogo{width:150px;height:150px;margin:auto}.loginCard h1,.successCard h1{text-align:center;font-size:30px;margin:24px 0 8px;color:var(--epm-dark)}.muted{color:var(--muted)}.loginCard .muted{text-align:center;color:#708486}.loginCard form{display:grid;gap:16px;margin-top:30px}label{display:grid;gap:7px;font-size:14px;font-weight:650}input,select,textarea{width:100%;border:1px solid #ccd9d7;background:#fff;border-radius:10px;padding:12px;color:var(--text);outline:none}textarea{min-height:105px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--epm-green);box-shadow:0 0 0 3px #79a93b29}.primary,.secondary,.adminBtn{border:0;border-radius:10px;padding:13px 16px;font-weight:800;cursor:pointer}.primary{background:var(--epm-green);color:#fff}.primary:hover{background:var(--epm-green-dark)}.secondary{background:#edf5e4;color:#527d27;display:flex;align-items:center;justify-content:center;gap:7px}.footerWords{text-align:center;color:#849597;font-size:12px;margin-top:28px}.error{background:#fee4e2;color:#b42318;border-radius:9px;padding:11px}.appShell{min-height:100vh;background:var(--epm-bg)}.appShell header{height:82px;background:var(--epm-dark);color:#fff;display:grid;grid-template-columns:50px 1fr 50px;align-items:center;padding:0 18px;border-bottom:4px solid var(--epm-green);box-shadow:0 4px 15px #0000001a}.appShell header .brand{grid-column:2}.iconBtn{border:0;background:transparent;color:inherit;cursor:pointer;display:grid;place-items:center}.content{padding:28px 18px 50px;margin:auto}.narrow{max-width:560px}.content h1{margin:8px 0 3px;color:var(--epm-dark)}.tileGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:26px 0}.tile{min-height:125px;border:0;border-radius:18px;color:#fff;display:grid;place-items:center;align-content:center;gap:10px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px #073f461f;transition:transform .15s ease,box-shadow .15s ease}.tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px #073f462e}.tile svg{width:31px;height:31px}.blue{background:var(--epm-dark)}.green{background:var(--epm-green)}.purple{background:#397f85}.orange{background:#2583b8}.slate{background:#365b60;grid-column:1/-1}.adminBtn{width:100%;background:var(--epm-dark);color:#fff;display:flex;gap:10px;align-items:center;justify-content:center}.adminBtn:hover{background:var(--epm-dark-2)}.dateCard{margin-top:18px;background:#fff;border:1px solid var(--epm-border);border-radius:16px;padding:17px;display:flex;gap:13px;align-items:center;box-shadow:0 4px 16px #073f460a}.dateCard svg{color:var(--epm-green)}.dateCard div{display:grid}.dateCard small{color:var(--muted)}.formCard{max-width:720px;background:#fff;margin-top:25px;margin-bottom:25px;border-radius:18px;border:1px solid var(--epm-border);box-shadow:0 8px 30px #073f4612;display:grid;gap:18px}.formCard h2{font-size:18px;color:var(--epm-dark);border-top:1px solid #e5eceb;padding-top:20px}.crew{background:#f5f9f8;border:1px solid var(--epm-border);padding:15px;border-radius:13px;display:grid;gap:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hoursLine{font-size:13px;color:#52686a;display:flex;justify-content:space-between}.dangerText{border:0;background:none;color:#b42318;display:flex;gap:5px;align-items:center;cursor:pointer}.total{background:var(--epm-dark);color:#fff;padding:14px;border-radius:10px;display:flex;justify-content:space-between}.successCard{text-align:center}.successCard>svg{color:var(--epm-green)}.successCard .primary{width:100%;margin:20px 0 35px}.successCard .brandLogo{width:100px;height:100px;margin:auto}.adminShell{min-height:100vh;background:#f4f7f6;display:grid;grid-template-columns:240px 1fr}.adminShell aside{background:var(--epm-dark);color:#fff;padding:25px 16px;display:flex;flex-direction:column;border-right:4px solid var(--epm-green)}.adminShell nav{display:grid;gap:7px;margin-top:35px}.adminShell nav button,.adminUser button{border:0;background:transparent;color:#d1dddd;padding:11px;border-radius:8px;text-align:left;display:flex;gap:10px;align-items:center;cursor:pointer}.adminShell nav .active{background:#79a93b33;color:#fff;border-left:3px solid var(--epm-green)}.adminUser{margin-top:auto;display:grid;gap:3px;padding:10px}.adminUser small{color:#a8bbbb}.adminMain{padding:35px;min-width:0;max-width:1700px;width:100%;margin:0 auto}.adminTop{margin-bottom:24px}.adminTop h1{margin:12px 0 4px;color:var(--epm-dark);font-size:30px}.backLink{border:0;background:none;padding:0;color:#52686a;display:flex;gap:5px;align-items:center;cursor:pointer}.backLink:hover{color:var(--epm-dark)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.stats>div,.tableCard{background:#fff;border:1px solid var(--epm-border);border-radius:14px;padding:20px;box-shadow:0 4px 16px #073f460a}.stats small{display:block;color:var(--muted)}.stats strong{font-size:32px;color:var(--epm-dark)}.tableCard h2{margin:0 0 20px;color:var(--epm-dark);font-size:20px}.tableHead{display:flex;align-items:center;justify-content:space-between;gap:20px}.tableHead h2{margin:0}.search{display:flex;align-items:center;border:1px solid #ccd9d7;border-radius:9px;padding-left:10px}.search input{border:0;box-shadow:none}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse;margin-top:15px}th,td{text-align:left;padding:13px;border-bottom:1px solid #e5eceb;white-space:nowrap}th{font-size:12px;color:var(--muted)}tbody tr[title="Open timesheet"]{transition:background .12s ease}tbody tr[title="Open timesheet"]:hover{background:#f3f8ef}.pill{padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700}.pill.ok{background:#e8f4da;color:#527d27}.pill.warn{background:#fef0c7;color:#b54708}.detailGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.detailGrid>div{min-height:82px;background:#f6f9f8;border:1px solid var(--epm-border);border-radius:11px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.detailGrid small,.detailBlock small{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.025em}.detailGrid strong{color:var(--epm-dark);font-size:16px;line-height:1.35;overflow-wrap:anywhere}.detailBlock{margin-top:14px;padding:16px 18px;background:#f8faf9;border:1px solid var(--epm-border);border-left:4px solid var(--epm-green);border-radius:10px}.detailBlock p{margin:8px 0 0;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;color:#263f42}.adminMain .tableCard .total{margin-top:16px}.center{min-height:100vh;display:grid;place-items:center;text-align:center}.spinner{width:38px;height:38px;border:4px solid #dce6e4;border-top-color:var(--epm-green);border-radius:50%;animation:s .8s linear infinite}@keyframes s{to{transform:rotate(360deg)}}@media(max-width:760px){.adminShell{display:block}.adminShell aside{display:none}.adminMain{padding:20px}.stats{grid-template-columns:1fr}.tableHead{align-items:stretch;flex-direction:column}.detailGrid,.two{grid-template-columns:1fr}.formCard{margin-top:0;border-radius:0;border-left:0;border-right:0}.tile{min-height:112px}.appShell header .brandLogo{width:58px;height:58px}.adminTop h1{font-size:26px}.tableCard{padding:16px}}@media(min-width:761px)and (max-width:1100px){.detailGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.holidayPage{max-width:980px}.holidayHeading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.holidayHeading h1{margin-bottom:3px}.holidayRequestBtn{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.holidayStats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.holidayStats>div{background:#fff;border:1px solid var(--epm-border);border-radius:14px;padding:18px;box-shadow:0 4px 16px #073f460a}.holidayStats small{display:block;color:var(--muted);margin-bottom:7px}.holidayStats strong{font-size:30px;color:var(--epm-dark);margin-right:5px}.holidayStats span{color:var(--muted);font-size:13px}.holidayStats .remaining{border-color:#b8d58f;background:#f5faef}.holidayStats .remaining strong{color:var(--epm-green-dark)}.holidayForm,.holidayHistory{background:#fff;border:1px solid var(--epm-border);border-radius:16px;padding:22px;box-shadow:0 4px 16px #073f460a;margin-bottom:22px}.holidayForm{display:grid;gap:17px}.holidayForm h2,.holidayHistory h2{margin:0;color:var(--epm-dark)}.holidayDaysCalc{padding:14px 16px;background:#edf5e4;border:1px solid #d2e5bc;color:#466d22;border-radius:10px}.holidaySuccess{background:#e8f4da;border:1px solid #c8dfa9;color:#527d27;border-radius:10px;padding:13px 15px;margin-bottom:20px;font-weight:700}.holidayHistory{display:grid;gap:13px}.holidayRecord{border:1px solid var(--epm-border);border-radius:12px;padding:16px;background:#fafcfc}.holidayRecordTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.holidayRecordTop>div{display:grid;gap:4px}.holidayRecordTop>div>span{color:var(--muted);font-size:13px}.holidayStatus{border-radius:99px;padding:5px 10px;font-size:12px;font-weight:800}.holidayStatus.pending{background:#fef0c7;color:#b54708}.holidayStatus.approved{background:#e8f4da;color:#527d27}.holidayStatus.declined{background:#fee4e2;color:#b42318}.holidayRecordInfo{display:grid;gap:7px;margin-top:13px;padding-top:13px;border-top:1px solid #e5eceb;font-size:14px;color:#52686a}.declineReason{color:#b42318}.emptyHoliday{text-align:center;color:var(--muted);padding:32px 15px}.emptyHoliday svg{color:var(--epm-green);width:34px;height:34px}@media(max-width:760px){.holidayHeading{align-items:stretch;flex-direction:column}.holidayStats{grid-template-columns:1fr 1fr}.holidayForm,.holidayHistory{padding:16px}.holidayRecordTop{flex-direction:column}}.holidayAdminStats{margin-bottom:20px}.holidayDecisionCard{display:grid;gap:16px}.holidayDecisionCard label{display:grid;gap:7px;font-weight:700;color:var(--epm-dark)}.holidayDecisionCard textarea{min-height:110px}.holidayDecisionButtons{display:flex;gap:12px;flex-wrap:wrap}.holidayApprove,.holidayDecline{border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px}.holidayApprove{background:#e8f4da;color:#466d22;border:1px solid #c8dfa9}.holidayDecline{background:#fee4e2;color:#b42318;border:1px solid #fecdca}.holidayApprove:disabled,.holidayDecline:disabled{opacity:.6;cursor:not-allowed}@media(max-width:650px){.holidayDecisionButtons{flex-direction:column}.holidayApprove,.holidayDecline{width:100%}}.holidayAutoGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.holidayReturnCalc{padding:14px 16px;background:#eef6f7;border:1px solid #cfe1e3;color:var(--epm-dark);border-radius:10px}.holidayDaysCalc strong,.holidayReturnCalc strong{display:block;font-size:18px;margin-top:3px}.holidayAutoNote{margin-top:-9px;font-size:13px}@media(max-width:650px){.holidayAutoGrid{grid-template-columns:1fr}}
