:root{--green-950:#0b2d27;--green-900:#123b32;--green-800:#1b5144;--green-700:#246957;--green-100:#e9f2ef;--ink:#18201e;--muted:#6b7672;--line:#dce4e1;--surface:#fff;--bg:#f3f6f5;--warning:#9a6700;--warning-bg:#fff6d8;--success:#176b52;--radius:18px}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);background:var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.login-page{background:radial-gradient(circle at 50% 0%, #e6f0ed 0, var(--bg) 45%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:28px;width:min(620px,100%);padding:38px;box-shadow:0 24px 70px #113b321a}.login-logo,.brand-mark{background:var(--green-900);color:#fff;letter-spacing:.03em;border-radius:16px;place-items:center;width:58px;height:58px;font-weight:900;display:grid}.login-card h1{margin:14px 0;font-size:clamp(2rem,5vw,3.4rem);line-height:1}.login-card>p{color:var(--muted);margin-bottom:28px;font-size:1.05rem;line-height:1.6}.login-field{gap:7px;margin:12px 0;display:grid}.login-field span{color:var(--muted);font-size:.84rem;font-weight:700}.login-field input{border:1px solid var(--line);width:100%;font:inherit;background:#f8faf9;border-radius:11px;padding:13px 14px}.security-note{background:var(--green-100);color:var(--green-900);border-radius:12px;margin-top:18px;padding:13px 15px;font-size:.9rem}.topbar{background:var(--green-950);color:#fff;z-index:10;justify-content:space-between;align-items:center;gap:24px;min-height:76px;padding:10px clamp(18px,4vw,52px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:44px;height:44px;color:var(--green-950);background:#fff;border-radius:12px}.brand>span:last-child{gap:2px;display:grid}.brand small{color:#bdd0ca}.page-wrap{width:min(1180px,100% - 32px);margin:0 auto;padding:34px 0 80px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-heading h1{margin:5px 0 7px;font-size:clamp(1.8rem,4vw,2.7rem)}.page-heading p{color:var(--muted);margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--green-700);font-size:.72rem;font-weight:800}.user-pill{background:var(--green-900);color:#fff;border-radius:50%;place-items:center;width:46px;height:46px;font-weight:800;display:grid}.hero-summary{background:linear-gradient(135deg, var(--green-950), var(--green-800));color:#fff;border-radius:22px;grid-template-columns:1fr 1fr auto;align-items:center;gap:14px;margin-bottom:20px;padding:24px;display:grid;box-shadow:0 12px 30px #113b3221}.hero-summary>div:not(.status-badge){gap:6px;display:grid}.hero-summary span{color:#c9dad5;font-size:.87rem}.hero-summary strong{font-size:clamp(1.35rem,4vw,2rem)}.status-badge{white-space:nowrap;border-radius:999px;padding:9px 12px;font-size:.85rem;font-weight:800}.status-badge.draft{color:var(--green-950);background:#fff}.status-badge.locked{color:var(--green-950);background:#d8eee7}.status-badge.submitted{background:var(--warning-bg);color:var(--warning)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 10px 32px #172f290d}.panel-title-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.panel-title-row h2{margin:5px 0 0;font-size:1.35rem}.button-row{gap:8px;display:flex}.primary-btn,.secondary-btn{cursor:pointer;border:0;border-radius:11px;padding:11px 15px;font-weight:800}.primary-btn{background:var(--green-900);color:#fff}.secondary-btn{background:var(--green-100);color:var(--green-900)}.primary-btn:disabled,.secondary-btn:disabled{opacity:.48;cursor:not-allowed}.primary-btn.full{width:100%;margin-top:14px;padding:15px}.primary-btn.compact{padding:9px 13px}.helper-text{color:var(--muted);margin:11px 0 0;font-size:.85rem}.mobile-table{gap:9px;display:grid}.entry-card{border:1px solid var(--line);border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.entry-card>div{gap:4px;display:grid}.entry-card span{color:var(--muted);font-size:.87rem}.entry-numbers{text-align:right}.approval-list{gap:10px;display:grid}.approval-card{border:1px solid var(--line);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;display:grid}.avatar{background:var(--green-100);width:42px;height:42px;color:var(--green-900);border-radius:50%;place-items:center;font-weight:900;display:grid}.approval-main{gap:3px;display:grid}.approval-main span,.approval-main small{color:var(--muted)}.empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:14px;padding:24px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:7px;padding:18px;display:grid}.stat-card span,.stat-card small{color:var(--muted)}.stat-card strong{font-size:1.55rem}.table-wrap{border:1px solid var(--line);border-radius:13px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:780px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 14px;font-size:.9rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f7f9f8;font-size:.76rem}tbody tr:last-child td{border-bottom:0}.table-status{border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;display:inline-flex}.table-status.ok{color:var(--success);background:#e8f4ef}.table-status.wait{color:var(--warning);background:var(--warning-bg)}.expense-card{border:1px solid var(--line);background:#fbfcfc;border-radius:15px;grid-column:1/-1;gap:14px;padding:15px;display:grid}.photo-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.photo-action{border:1px dashed var(--green-700);background:var(--green-100);color:var(--green-900);cursor:pointer;text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:13px;font-weight:900;display:flex}.photo-action input{display:none}.photo-preview{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:78px 1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.photo-preview img{object-fit:cover;border-radius:10px;width:78px;height:78px}.photo-preview strong{font-size:.9rem;display:block}.photo-preview small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;display:block}.remove-photo{color:#b42318;cursor:pointer;background:#fff0ef;border:0;border-radius:10px;padding:9px 10px;font-weight:800}.expense-note{color:var(--muted);font-size:.8rem;line-height:1.45}@media (max-width:850px){.topbar{gap:10px;padding-block:12px}.hero-summary{grid-template-columns:1fr 1fr}.hero-summary .status-badge{grid-column:1/-1;justify-self:start}.stats-grid{grid-template-columns:1fr 1fr}}@media (max-width:580px){.photo-actions{grid-template-columns:1fr}.photo-preview{grid-template-columns:64px 1fr auto}.photo-preview img{width:64px;height:64px}.login-card{padding:26px 20px}.page-wrap{width:min(100% - 20px,1180px);padding-top:22px}.page-heading{align-items:flex-start}.hero-summary{grid-template-columns:1fr;padding:20px}.hero-summary .status-badge{grid-column:auto}.panel{padding:16px}.panel-title-row{flex-direction:column;align-items:flex-start}.button-row{width:100%}.button-row button{flex:1}.entry-card{align-items:flex-start}.approval-card{grid-template-columns:auto 1fr}.approval-card button{grid-column:1/-1;width:100%}.stats-grid{grid-template-columns:1fr}.brand strong{font-size:.92rem}}.step-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;width:min(720px,100%);margin:0 auto;overflow:hidden;box-shadow:0 14px 38px #172f2912}.step-progress{padding:18px 22px 0}.step-progress-top{color:var(--muted);justify-content:space-between;gap:16px;font-size:.78rem;display:flex}.step-progress-top strong{color:var(--green-900)}.progress-track{background:#edf2f0;border-radius:999px;height:7px;margin-top:11px;overflow:hidden}.progress-track span{background:var(--green-700);border-radius:inherit;height:100%;transition:width .2s;display:block}.step-heading{padding:24px 22px 8px}.step-heading h2{margin:6px 0 0;font-size:clamp(1.35rem,4vw,1.8rem);line-height:1.2}.compact-heading{padding-bottom:4px}.compact-heading h2{margin:0}.compact-heading p{color:var(--muted);margin:6px 0 0;font-size:.9rem}.form-grid{grid-template-columns:1fr 1fr;gap:14px;padding:16px 22px 24px;display:grid}.form-grid.one-col{grid-template-columns:1fr}.extra-split{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-field{gap:7px;display:grid}.form-field>span{color:var(--muted);font-size:.82rem;font-weight:800}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fbfcfc;border-radius:12px;outline:none;padding:14px 13px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 3px #2469571a}.form-field input:disabled{color:var(--muted);background:#f2f4f3}.required-mark{color:#b42318;font-weight:900}.field-error{color:#b42318;margin-top:2px;font-size:.78rem;font-weight:800}.form-field select.field-invalid{border-color:#b42318;box-shadow:0 0 0 3px #b4231814}.full-span{grid-column:1/-1}.input-unit{border:1px solid var(--line);background:#fbfcfc;border-radius:12px;grid-template-columns:1fr auto;align-items:center;display:grid;overflow:hidden}.input-unit input{background:0 0;border:0;border-radius:0;box-shadow:none!important}.input-unit b{color:var(--muted);padding:0 12px;font-size:.82rem}.form-tip{background:var(--green-100);color:var(--green-900);border-radius:12px;padding:12px 13px;font-size:.84rem;line-height:1.45}.live-total{background:var(--green-950);color:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.live-total span{color:#c9dad5;font-size:.84rem}.live-total strong{font-size:1.35rem}.wizard-actions{border-top:1px solid var(--line);background:#fafcfb;justify-content:space-between;gap:10px;padding:16px 22px 22px;display:flex}.wizard-actions button{min-width:126px}.review-list{gap:0;padding:10px 22px 24px;display:grid}.review-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:12px 0;display:flex}.review-row span{color:var(--muted)}.review-row strong{text-align:right}.review-total{background:var(--green-950);color:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:18px;display:flex}.review-total span{color:#c9dad5}.review-total strong{font-size:1.45rem}.review-note{color:var(--muted);margin:13px 0 0;font-size:.82rem;line-height:1.45}.success-panel{border:1px solid var(--line);text-align:center;background:#fff;border-radius:22px;width:min(620px,100%);margin:0 auto;padding:34px 24px;box-shadow:0 14px 38px #172f2912}.success-icon{background:var(--green-100);width:66px;height:66px;color:var(--green-900);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:2rem;font-weight:900;display:grid}.success-panel h2{margin:8px 0 6px;font-size:1.8rem}.success-panel>p{color:var(--muted);margin-top:0}.saved-totals{grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 18px;display:grid}.saved-totals>div{background:#f6f8f7;border-radius:14px;gap:6px;padding:16px;display:grid}.saved-totals span{color:var(--muted);font-size:.8rem}.saved-totals strong{font-size:1.25rem}.secondary-btn.full{width:100%}.secondary-full{margin-top:9px}@media (max-width:580px){.step-card{border-radius:17px}.step-progress,.step-heading,.form-grid,.review-list{padding-left:16px;padding-right:16px}.form-grid{grid-template-columns:1fr;gap:13px}.full-span{grid-column:auto}.wizard-actions{padding:14px 16px 16px;position:sticky;bottom:0}.wizard-actions button{flex:1;min-width:0;padding-inline:10px}.review-row{align-items:flex-start}.saved-totals{grid-template-columns:1fr}}.production-form{gap:16px;padding:16px 22px 24px;display:grid}.production-top-fields{grid-template-columns:1fr;gap:14px;display:grid}.production-section-head{justify-content:space-between;align-items:end;gap:12px;padding-top:2px;display:flex}.production-section-head>div{gap:4px;display:grid}.production-section-head span{font-weight:900}.production-section-head small{color:var(--muted);line-height:1.35}.unit-entry-list{gap:10px;display:grid}.unit-entry-card{border:1px solid var(--line);background:#fbfcfc;border-radius:14px;padding:13px}.unit-entry-card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.unit-entry-card-head strong{font-size:.9rem}.remove-unit{color:#b42318;cursor:pointer;background:0 0;border:0;padding:4px;font-weight:800}.unit-entry-grid{grid-template-columns:1fr 180px;gap:10px;display:grid}.add-unit-btn{border:1px dashed var(--green-700);background:var(--green-100);color:var(--green-900);cursor:pointer;border-radius:12px;padding:12px 14px;font-weight:900}.production-controls-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.production-sqft-total{width:100%}.production-summary-bar{background:var(--green-950);color:#fff;border-radius:14px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.production-summary-bar>div{gap:5px;padding:16px;display:grid}.production-summary-bar>div+div{border-left:1px solid #ffffff29}.production-summary-bar span{color:#c9dad5;font-size:.84rem}.production-summary-bar strong{font-size:1.35rem}.readonly-total{background:#f2f5f4;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.readonly-total span{color:var(--muted);font-size:.82rem;font-weight:800}.readonly-total strong{color:var(--green-950)}.production-error{color:#b42318;margin:-2px 0 0;font-size:.82rem;font-weight:800}.field-invalid-input,.field-invalid-wrap{border-color:#b42318!important;box-shadow:0 0 0 3px #b4231814!important}@media (max-width:580px){.production-form{padding-left:16px;padding-right:16px}.unit-entry-grid,.production-controls-grid{grid-template-columns:1fr}.production-summary-bar{grid-template-columns:1fr 1fr}.production-summary-bar>div{padding:14px 12px}.production-summary-bar strong{font-size:1.12rem}}.locked-rate{min-height:48px}.locked-rate strong{white-space:nowrap}.admin-tabs{background:#e8eeec;border-radius:13px;gap:5px;margin-bottom:20px;padding:5px;display:inline-flex}.admin-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:10px 14px;font-weight:800}.admin-tabs button.active{color:var(--green-950);background:#fff;box-shadow:0 2px 10px #113b3214}.project-admin-layout{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:20px;display:grid}.project-create-panel{position:sticky;top:96px}.project-form{gap:13px;display:grid}.project-form .primary-btn.full{margin-top:0}.project-form-error{color:#b42318;margin:0;font-size:.82rem;font-weight:800}.project-list{gap:10px;display:grid}.project-row{border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(180px,1fr) 150px auto;align-items:center;gap:14px;padding:14px;transition:opacity .15s;display:grid}.project-row.inactive{opacity:.58;background:#f8f9f9}.project-main{align-items:center;gap:11px;min-width:0;display:flex}.project-main>div{gap:4px;min-width:0;display:grid}.project-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-main small{color:var(--muted)}.project-dot{background:#a6afac;border-radius:50%;flex:none;width:11px;height:11px}.project-dot.active{background:var(--success);box-shadow:0 0 0 4px #e8f4ef}.project-rate-control{gap:5px;display:grid}.project-rate-control span{color:var(--muted);font-size:.75rem;font-weight:800}.project-rate-control select{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px;font-weight:800}.admin-lock-note{background:var(--green-100);color:var(--green-900);border-radius:12px;margin-top:16px;padding:13px 14px;font-size:.84rem;line-height:1.45}@media (max-width:800px){.project-admin-layout{grid-template-columns:1fr}.project-create-panel{position:static}}@media (max-width:580px){.admin-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.project-row{grid-template-columns:1fr 105px}.project-row>button{grid-column:1/-1;width:100%}}.locked-level{min-height:48px}.locked-level strong{white-space:nowrap}.employee-admin-panel{max-width:920px}.employee-level-list{gap:10px;display:grid}.employee-level-row{border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(220px,1fr) minmax(220px,320px);align-items:center;gap:16px;padding:14px;display:grid}.employee-level-main{align-items:center;gap:11px;min-width:0;display:flex}.employee-level-main>div:last-child{gap:4px;display:grid}.employee-level-main small{color:var(--muted)}.employee-level-control{gap:5px;display:grid}.employee-level-control span{color:var(--muted);font-size:.75rem;font-weight:800}.employee-level-control select{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:10px;font-weight:800}@media (max-width:580px){.admin-tabs{grid-template-columns:1fr 1fr 1fr}.admin-tabs button{padding-inline:8px;font-size:.82rem}.employee-level-row{grid-template-columns:1fr}}.form-field select:disabled{opacity:1;color:var(--ink);cursor:not-allowed;-webkit-text-fill-color:var(--ink);background:#f4f7f6}.expense-list{grid-column:1/-1;gap:12px;display:grid}.expense-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.expense-card-head strong{font-size:.9rem}.expense-meta-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:580px){.expense-meta-grid{grid-template-columns:1fr}}.billable-check{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.billable-check input{width:20px;height:20px;accent-color:var(--green);flex:none;margin:0}.billable-check strong{font-size:.88rem;display:block}.billable-check small{color:var(--muted);margin-top:3px;font-size:.75rem;line-height:1.35;display:block}.expense-breakdown{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:580px){.expense-breakdown{grid-template-columns:1fr}}.bank-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.bank-card{border:1px solid var(--line);background:#f5f8f7;border-radius:14px;gap:5px;padding:15px;display:grid}.bank-card span{color:var(--muted);font-size:.78rem;font-weight:800;line-height:1.3}.bank-card strong{color:var(--green-950);font-size:1.28rem}.bank-card small{color:var(--muted);font-size:.86rem;font-weight:800}.bank-card.current{background:var(--green-950);border-color:var(--green-950);color:#fff}.bank-card.current span,.bank-card.current small{color:#c9dad5}.bank-card.current strong{color:#fff}@media (max-width:680px){.bank-summary{grid-template-columns:1fr}}.review-subtotal{border:2px solid var(--green-950);background:#f3f7f5;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 6px;padding:14px 15px;display:flex}.review-subtotal>span{color:var(--green-950);font-size:.82rem;font-weight:900;line-height:1.3}.review-subtotal>div{text-align:right;gap:3px;display:grid}.review-subtotal strong{color:var(--green-950);font-size:1.25rem}.review-subtotal small{color:var(--muted);font-size:.86rem;font-weight:900}.review-subtotal.deduction{background:#fff8f6;border-color:#b42318}.review-subtotal.deduction>span,.review-subtotal.deduction strong{color:#8f1d14}.review-subtotal.payroll{background:#f7f5ef;border-color:#8b6f2a}.review-subtotal.payroll>span,.review-subtotal.payroll strong{color:#70591f}@media (max-width:580px){.review-subtotal{align-items:flex-start}}.week-dashboard{gap:18px;display:grid}.week-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.week-toolbar>div{gap:7px;display:grid}.week-toolbar p{color:var(--muted);margin:0;font-size:.9rem}.week-status{border-radius:999px;align-items:center;gap:7px;width:max-content;padding:6px 10px;font-size:.76rem;font-weight:900;display:inline-flex}.week-status.open{color:#1f6a53;background:#e9f4ef}.week-status.submitted{color:#805d14;background:#fff4df}.week-subtotals{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.week-subtotal-card{border:2px solid var(--green-950);background:#f3f7f5;border-radius:15px;gap:5px;padding:16px;display:grid}.week-subtotal-card span{color:var(--green-950);font-size:.8rem;font-weight:900}.week-subtotal-card strong{color:var(--green-950);font-size:1.35rem}.week-subtotal-card small{color:var(--muted);font-weight:900}.week-subtotal-card.expense{background:#fff8f6;border-color:#b42318}.week-subtotal-card.expense span,.week-subtotal-card.expense strong{color:#8f1d14}.week-subtotal-card.payroll{background:#f7f5ef;border-color:#8b6f2a}.week-subtotal-card.payroll span,.week-subtotal-card.payroll strong{color:#70591f}.week-entry-list{gap:10px;display:grid}.week-entry{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 24px #172f290a}.week-entry-main{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.week-entry h3{margin:4px 0;font-size:1.15rem}.week-entry p{color:var(--muted);margin:0;font-size:.88rem}.week-entry-hours{text-align:right;flex:none;gap:3px;display:grid}.week-entry-hours strong{color:var(--green-950);font-size:1.2rem}.week-entry-hours small{color:var(--muted);font-weight:800}.week-entry-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;display:flex}.danger-ghost{color:#9b241a;cursor:pointer;background:#fff7f6;border:1px solid #efc7c2;border-radius:10px;padding:10px 13px;font-weight:900}.week-empty{background:var(--surface);border:1px dashed var(--line);text-align:center;border-radius:16px;gap:5px;padding:28px 18px;display:grid}.week-empty span{color:var(--muted)}.week-bank{margin-top:0}.week-submit-panel{background:var(--green-950);color:#fff;border-radius:17px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.week-submit-panel>div{gap:4px;display:grid}.week-submit-panel span{color:#c9dad5;font-size:.84rem;line-height:1.4}.week-submit-panel .primary-btn{color:var(--green-950);white-space:nowrap;background:#fff}.week-submit-panel .primary-btn:disabled{opacity:.65;cursor:not-allowed}@media (max-width:760px){.week-subtotals{grid-template-columns:1fr}.week-toolbar,.week-submit-panel{flex-direction:column;align-items:stretch}.week-toolbar .primary-btn,.week-submit-panel .primary-btn{width:100%}.week-entry-main{align-items:flex-start}.week-entry-hours{min-width:110px}}@media (max-width:480px){.week-entry-main{grid-template-columns:1fr auto;display:grid}.week-entry-actions{grid-template-columns:1fr 1fr;display:grid}.week-entry-actions button{width:100%}}.admin-tabs.four{grid-template-columns:repeat(4,auto)}.week-approval-card{grid-template-columns:auto minmax(0,1fr) auto}.approval-overview-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.approval-week-list{gap:9px;display:grid}.approval-week-row{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:13px;display:grid}.approval-week-row:hover{background:#fbfdfc;border-color:#b7cac4}.approval-week-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.approval-week-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-status.correction{color:#9b241a;background:#fff0ed}.approval-detail{gap:18px;display:grid}.approval-back{width:max-content;color:var(--green-800);cursor:pointer;background:0 0;border:0;padding:2px 0;font-weight:900}.approval-detail-hero{justify-content:space-between;align-items:center;gap:20px;display:flex}.approval-person{align-items:center;gap:14px;display:flex}.avatar.large{width:54px;height:54px;font-size:1.05rem}.approval-person h2{margin:3px 0}.approval-person p{color:var(--muted);margin:0}.approval-status-stack{text-align:right;justify-items:end;gap:5px;display:grid}.approval-status-stack small{color:var(--muted)}.approval-big-status{border-radius:999px;padding:7px 11px;font-size:.8rem;font-weight:900}.approval-big-status.submitted{color:#805d14;background:#fff4df}.approval-big-status.approved{color:#1f6a53;background:#e9f4ef}.approval-big-status.correction{color:#9b241a;background:#fff0ed}.approval-subtotals{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.approval-bank{margin-top:0}.approval-detail-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:20px;display:grid}.admin-entry-list,.admin-expense-list{gap:9px;display:grid}.admin-entry-row,.admin-expense-row{border:1px solid var(--line);border-radius:13px;justify-content:space-between;align-items:flex-start;gap:14px;padding:13px;display:flex}.admin-entry-row>div,.admin-expense-row>div{gap:3px;display:grid}.admin-entry-row>div:last-child,.admin-expense-row>div:last-child{text-align:right;flex:none;justify-items:end}.admin-entry-row span,.admin-entry-row small,.admin-expense-row span,.admin-expense-row small{color:var(--muted);font-size:.82rem}.expense-kind{border-radius:999px;width:max-content;padding:4px 7px;font-weight:900;font-size:.69rem!important}.expense-kind.project{color:#365b8a;background:#edf3fb}.expense-kind.employee{color:#9b241a;background:#fff0ed}.expense-admin-totals{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;font-size:.82rem;display:flex}.empty-state.compact{padding:18px 12px}.approval-actions-panel{background:var(--green-950);color:#fff;border-radius:17px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.approval-actions-panel>div:first-child{gap:4px;display:grid}.approval-actions-panel>div:first-child span{color:#c9dad5;font-size:.84rem}.approval-action-buttons{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.approve-btn,.reopen-btn{cursor:pointer;border-radius:11px;padding:11px 14px;font-weight:900}.approve-btn{color:var(--green-950);background:#fff;border:1px solid #fff}.reopen-btn{color:#98281e;background:#fff7f5;border:1px solid #e4c1ba}@media (max-width:900px){.approval-overview-grid,.approval-detail-grid,.approval-subtotals{grid-template-columns:1fr}.admin-tabs.four{grid-template-columns:1fr 1fr}}@media (max-width:620px){.approval-detail-hero,.approval-actions-panel{flex-direction:column;align-items:stretch}.approval-status-stack{text-align:left;justify-items:start}.approval-action-buttons{grid-template-columns:1fr;width:100%;display:grid}.approval-action-buttons button{width:100%}.admin-entry-row,.admin-expense-row{grid-template-columns:1fr auto;display:grid}.week-approval-card{grid-template-columns:auto 1fr}.week-approval-card button{grid-column:1/-1;width:100%}.approval-week-row{grid-template-columns:auto minmax(0,1fr) auto}.approval-week-row>b{display:none}}.approval-notice{color:#1f6a53;background:#e9f4ef;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:13px;font-weight:900}.setup-banner{color:#6f5619;background:#fff8e8;border:1px solid #ead7a2;border-radius:12px;gap:4px;padding:12px 13px;font-size:.82rem;line-height:1.4;display:grid}.setup-banner strong{font-size:.88rem}.login-error{color:#9b241a;background:#fff1ef;border:1px solid #efc7c2;border-radius:10px;padding:10px 12px;font-size:.82rem;font-weight:800}.demo-login-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:2px;display:grid}.demo-login-actions a{text-align:center;text-decoration:none}.topbar-user{align-items:center;gap:10px;display:flex}.logout-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:.78rem;font-weight:850}.logout-btn:hover{color:var(--green-950)}@media (max-width:580px){.logout-btn{display:none}.demo-login-actions{grid-template-columns:1fr}}.connected-banner{background:#18794e14;border-color:#18794e47}.unassigned-card .logout-btn{justify-content:center;width:100%;margin-top:8px}.login-success{color:#176044;background:#eef8f3;border:1px solid #bcdcca;border-radius:10px;padding:10px 12px;font-size:.82rem;font-weight:800}.auth-create-link,.auth-back-link{text-align:center;color:var(--green-700);margin-top:14px;font-weight:800;text-decoration:none;display:block}.auth-create-link:hover,.auth-back-link:hover{text-decoration:underline}.employee-access-list{gap:14px;display:grid}.employee-access-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:15px;padding:16px;display:grid;box-shadow:0 8px 24px #172f2909}.employee-access-card.inactive{background:#fbfbfa}.employee-access-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.employee-access-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.employee-level-control{gap:6px;min-width:0;display:grid}.employee-level-control>span{color:var(--muted);font-size:.76rem;font-weight:900}.employee-level-control input,.employee-level-control select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:9px 10px}.employee-level-control input:disabled,.employee-level-control select:disabled{color:#6f7774;cursor:not-allowed;background:#f1f3f2}.employee-level-control small{color:var(--muted);font-size:.72rem;line-height:1.35}.employee-access-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:9px;padding-top:13px;display:flex}.employee-access-error{margin-bottom:14px}@media (max-width:900px){.employee-access-grid{grid-template-columns:1fr}.employee-access-actions{grid-template-columns:1fr;display:grid}.employee-access-actions button{width:100%}.employee-access-head{align-items:flex-start}}.login-page{background:radial-gradient(circle at 0 0,#2f78db1a,#0000 32%),linear-gradient(#f8fbff,#eef3f8)}.login-card{color:#102541;border:1px solid #dce6f2;border-radius:20px;width:min(480px,100%);padding:32px;box-shadow:0 20px 50px #1035651a}.login-logo{color:#fff;background:linear-gradient(135deg,#091f3b,#175db1);border-radius:16px;width:62px;height:62px}.login-card .eyebrow{color:#1657a8}.login-card h1{letter-spacing:-.035em;font-size:clamp(1.85rem,4vw,2.5rem)}.login-card>p{color:#6a7f98;margin-bottom:18px;font-size:.95rem}.login-field span{color:#48637e}.login-field input{background:#f8fbff;border-color:#dce6f2}.login-field input:focus{outline-offset:1px;outline:2px solid #7ab2f5}.login-card .primary-btn{background:linear-gradient(135deg,#103867,#2d73c9)}.login-card .setup-banner.connected-banner,.login-card .security-note{color:#244c78;background:#edf5ff;border:1px solid #d6e6fb;border-radius:12px}.login-card .security-note{font-size:.78rem;line-height:1.45}.topbar-user .logout-btn{display:inline-block}.lpt-v12 .topbar .logout-btn{color:#fff}
