:root{--ink:#17232b;--muted:#64727a;--paper:#f4f7f5;--card:#fff;--green:#0f6b58;--green2:#dceee8;--line:#d9e2de;--orange:#e78235;--danger:#a33b35;--shadow:0 12px 34px rgba(22,52,43,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.45 Inter,Segoe UI,Arial,sans-serif}.topbar{background:#123c34;color:#fff;padding:24px max(24px,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;align-items:center}.topbar h1{margin:3px 0 0;font-size:28px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;color:#79b5a5}.status{font-size:13px;background:rgba(255,255,255,.12);padding:8px 12px;border-radius:99px}main{max-width:1220px;margin:28px auto 60px;padding:0 22px}.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.controls{display:grid;grid-template-columns:220px minmax(230px,1fr) auto;gap:18px;align-items:end}label{display:grid;gap:7px;font-weight:650;font-size:13px}input,select,textarea{width:100%;border:1px solid #bdcbc5;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{outline:3px solid #bee1d5;border-color:var(--green)}button{border:0;border-radius:9px;background:var(--green);color:white;font-weight:700;padding:11px 15px;cursor:pointer}button:hover{filter:brightness(.96)}button.secondary{background:#eaf1ee;color:#23433b}.control-actions,.export-actions,.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.summary article{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.summary span{display:block;color:var(--muted);font-size:12px;font-weight:650}.summary strong{display:block;font-size:28px;margin-top:5px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:18px}.section-heading h2,.export-panel h2{margin:4px 0 0;font-size:21px}.section-heading p,.export-panel p,.helper{color:var(--muted);margin:5px 0 0;font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px}table{width:100%;border-collapse:collapse;min-width:920px}th{background:#e8f1ed;color:#28483f;text-align:left;font-size:12px;padding:11px 9px;white-space:nowrap;border-bottom:1px solid #cbd9d3}td{padding:8px 9px;border-bottom:1px solid #e7ecea}tbody tr:last-child td{border-bottom:0}.date-cell strong,.date-cell span{display:block}.date-cell span{font-size:11px;color:var(--muted)}td input[type=number]{min-width:76px;padding:8px}.row-total{font-weight:750;text-align:right}.week-divider td{border-top:3px solid #9cc7ba}.notes{margin-top:18px}.export-panel{display:flex;justify-content:space-between;align-items:center;gap:24px}dialog{border:0;padding:0;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.25);width:min(820px,calc(100vw - 30px))}dialog::backdrop{background:rgba(14,31,27,.58)}.dialog-card{padding:25px}.dialog-card.wide{width:100%}.icon-btn{font-size:25px;line-height:1;background:transparent;color:var(--muted);padding:5px 9px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.category-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 22px}.dialog-actions{align-items:center}.dialog-actions span{flex:1}.danger{background:#f5e5e3;color:var(--danger)}#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#172f29;color:#fff;padding:11px 16px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.invalid{background:#fff0ed!important}.empty-state{text-align:center;color:var(--muted);padding:30px}
.login-screen{position:fixed;inset:0;z-index:20;background:linear-gradient(140deg,#103d34,#0d5c4d);display:grid;place-items:center;padding:20px}.login-screen.hidden{display:none}.login-card{width:min(410px,100%);background:white;border-radius:20px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.28);display:grid;gap:16px}.login-card h1{margin:0;font-size:29px}.login-card p{margin:0;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--orange);color:white;font-size:25px;font-weight:850}.login-help{text-align:center;font-size:12px}.login-error{min-height:20px;color:var(--danger)!important;text-align:center}.user-actions{display:flex;gap:8px;align-items:center}.logout{background:rgba(255,255,255,.14);padding:8px 12px}.staff-view .manager-only{display:none!important}.staff-view .controls{grid-template-columns:220px}.staff-view .controls:after{content:"Your timesheet";align-self:end;color:var(--muted);padding:10px 0;font-size:13px}
.summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.check-label{display:flex;align-items:center;gap:9px;align-self:end;padding:10px 0}.check-label input{width:auto}
.hidden{display:none!important}.app-nav{position:fixed;left:0;top:112px;bottom:0;width:76px;background:#fff;border-right:1px solid #e2e5e4;padding:18px 9px;display:grid;align-content:start;gap:10px;z-index:5}.nav-item{background:transparent;color:#53605c;padding:10px 6px;font-size:20px;display:grid;gap:2px}.nav-item span{font-size:10px}.nav-item.active{background:#efe8ff;color:#7028dc}.employees-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.employees-heading h1{margin:0;font-size:25px}.employee-search{display:grid;grid-template-columns:minmax(300px,1fr) auto auto;gap:20px;align-items:end}.search-box{position:relative}.search-box span{position:absolute;left:12px;top:8px;font-size:20px}.search-box input{padding-left:38px}.reset-btn{background:transparent;color:#6d28d9}.employees-table-panel{padding:16px}.employee-table-wrap{border:0}.employee-table-wrap table{min-width:720px}.employee-table-wrap th{background:#fff;color:#151c19;padding:15px 12px}.employee-table-wrap td{padding:16px 12px}.employee-name{color:#6d28d9;font-weight:500;background:transparent;padding:0}.inactive-badge{display:inline-block;border-radius:99px;background:#ecefed;color:#6a7470;padding:3px 8px;font-size:11px}.page-view{max-width:1170px}.page-view,.app-nav+main{transition:.2s}@media(min-width:900px){body:not(.staff-view) main{margin-left:max(98px,calc((100vw - 1220px)/2 + 40px));margin-right:max(22px,calc((100vw - 1220px)/2 - 40px))}}
.history-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:16px;align-items:end}.history-summary{margin-bottom:20px}.money-value{color:#0f6b58;font-weight:750}.staff-view .app-nav{display:grid!important}.staff-view #employeesNav{display:none!important}@media(min-width:900px){.staff-view main{margin-left:98px;margin-right:22px}}@media(max-width:800px){.app-nav{position:static;width:auto;height:auto;display:flex;padding:8px 14px;border-right:0;border-bottom:1px solid var(--line)}.nav-item{display:flex;align-items:center;gap:7px}.history-filters{grid-template-columns:1fr 1fr}.history-filters .manager-only{grid-column:1/-1}}
@media(max-width:800px){.controls{grid-template-columns:1fr}.control-actions{justify-content:stretch}.control-actions button{flex:1}.summary{grid-template-columns:1fr 1fr}.export-panel{align-items:stretch;flex-direction:column}.export-actions button{flex:1}.settings-grid,.category-settings{grid-template-columns:1fr}.topbar{padding:20px}.status{display:none}}
@media(max-width:480px){main{padding:0 12px;margin-top:15px}.panel{padding:16px;border-radius:12px}.summary{gap:8px}.summary article{padding:13px}.summary strong{font-size:23px}.export-actions{display:grid}}
