@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#17211d;background:#f3f1e9;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;--ink: #17211d;--muted: #66716c;--paper: #fffdf7;--line: #d9d8ce;--green: #1d5c45;--lime: #d7ff72;--concrete-light: #2b312f;--concrete-dark: #121615;--green-glow: #316e57}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--green);outline-offset:2px}button{border:1px solid var(--line);border-radius:.55rem;background:var(--paper);color:var(--ink);padding:.65rem .9rem;cursor:pointer}button:hover:not(:disabled){border-color:var(--green)}button:disabled{cursor:not-allowed;opacity:.5}button.primary{background:var(--green);color:#fff;border-color:var(--green);font-weight:700}label{display:grid;gap:.4rem;color:#48524e;font-size:.8rem;font-weight:700;letter-spacing:.02em}label.checkbox-field{grid-auto-flow:column;justify-content:start;align-items:center;gap:.55rem}label.checkbox-field input{width:1.05rem;height:1.05rem;padding:0;accent-color:var(--green)}input,select,textarea{min-width:0;border:1px solid var(--line);border-radius:.55rem;background:#fff;color:var(--ink);padding:.72rem}textarea{min-height:5rem;resize:vertical}h1,h2,p{margin-top:0}h1{margin-bottom:.35rem;font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.75rem);font-weight:500;letter-spacing:-.04em}h2{margin-bottom:1rem;font-size:1.35rem}.eyebrow,.brand{margin-bottom:.55rem;color:var(--green);font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.muted{color:var(--muted)}.error,.success,.callout{margin:.75rem 0;border-radius:.45rem;padding:.65rem .8rem}.error{background:#ffe4df;color:#8a2418}.success{background:#e0f3e6;color:#15543d}.callout{background:#fff0c9;color:#684b02}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr;background:var(--ink)}.login-intro{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,7vw,7rem);color:#fff;background-color:var(--concrete-dark);background-image:radial-gradient(circle at 20% 20%,var(--green-glow),transparent 42%),radial-gradient(ellipse 38% 26% at 68% 22%,rgb(255 255 255 / 6%),transparent),radial-gradient(ellipse 30% 40% at 22% 62%,rgb(255 255 255 / 4%),transparent),radial-gradient(ellipse 44% 22% at 86% 74%,rgb(255 255 255 / 3%),transparent),radial-gradient(ellipse 26% 34% at 48% 38%,rgb(0 0 0 / 30%),transparent),radial-gradient(ellipse 36% 28% at 12% 12%,rgb(0 0 0 / 22%),transparent),radial-gradient(ellipse 50% 30% at 74% 96%,rgb(0 0 0 / 34%),transparent),radial-gradient(ellipse 20% 18% at 92% 44%,rgb(0 0 0 / 26%),transparent),repeating-linear-gradient(23deg,rgb(255 255 255 / 1.6%) 0 1px,transparent 1px 4px),repeating-linear-gradient(-61deg,rgb(0 0 0 / 4%) 0 1px,transparent 1px 3px),linear-gradient(160deg,var(--concrete-light),var(--concrete-dark) 72%)}.login-intro h1{max-width:700px;font-size:clamp(3rem,8vw,7rem);line-height:.92}.login-intro p:last-child{color:#c7d0cb}.login-card{align-self:center;display:grid;gap:1rem;margin:2rem;border-top:5px solid var(--lime);background:var(--paper);padding:clamp(1.5rem,5vw,4rem);box-shadow:0 20px 70px #0005}.login-logo{display:block;width:min(100%,240px);height:auto;margin-bottom:.5rem;object-fit:contain}.admin-tabs{display:flex;gap:.35rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.report-filters,.report-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.daily-breakdown{margin-top:1.75rem}.daily-breakdown .eyebrow{margin-bottom:.5rem}.daily-total td{border-top:2px solid var(--line);font-weight:700}.report-filters{flex-wrap:wrap}.report-type-toggle{display:inline-flex;flex-wrap:wrap;gap:.25rem;margin:0 0 1rem;padding:.2rem;border:1px solid var(--line);border-radius:99px;background:var(--paper)}.report-type-toggle button{border-color:transparent;border-radius:99px;background:transparent;padding:.4rem .9rem;color:var(--muted);font-weight:700}.report-type-toggle button.active{background:var(--green);border-color:var(--green);color:#fff}.month-stepper{display:flex;align-items:center;gap:.35rem}.month-stepper input{width:9.5rem}.month-stepper button{min-width:2.4rem;padding:.55rem .6rem;font-weight:700;line-height:1}.report-total{font-size:1.5rem}.table-wrap{overflow-x:auto}.report-page table{width:100%;border-collapse:collapse}.report-page th,.report-page td{padding:.75rem;border-bottom:1px solid var(--line);text-align:left}.report-page th:last-child,.report-page td:last-child{text-align:right}@media print{.topbar,.report-filters,.report-actions{display:none!important}.report-page{max-width:none;padding:0}}.admin-tabs button{border-color:transparent;border-bottom:3px solid transparent;border-radius:.35rem .35rem 0 0;background:transparent;color:var(--muted)}.admin-tabs button.active,.admin-tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:800}.topbar{min-height:72px;display:flex;align-items:center;gap:1.5rem;border-bottom:1px solid var(--line);background:var(--paper);padding:0 4vw}.brand-button{border:0;background:transparent;color:var(--green);font-weight:900;letter-spacing:.12em}.topbar nav{display:flex;gap:.35rem;flex:1}.topbar nav button{border-color:transparent;background:transparent}.topbar nav button.active{background:#e4eadf;color:var(--green)}.account{display:flex;align-items:center;gap:.8rem}.account span{display:grid}.account small{color:var(--muted);text-transform:capitalize}.page{width:min(1200px,92vw);margin:0 auto;padding:clamp(2rem,5vw,5rem) 0}.page-header,.panel-heading{display:flex;justify-content:space-between;gap:1rem}.page-header{align-items:flex-start}.panel-heading{align-items:center;margin-bottom:1rem}.panel-heading h2{margin-bottom:0}.page-header{margin-bottom:2rem}.month-nav,.actions{display:flex;gap:.6rem}.timesheet-controls{display:flex;flex-direction:column;align-items:flex-end;gap:.6rem}.week-nav{display:flex;align-items:center;gap:.6rem}.week-range{min-width:11rem;text-align:center;font-weight:700}.view-toggle{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--line);border-radius:99px;background:var(--paper)}.view-toggle button{border-color:transparent;border-radius:99px;background:transparent;padding:.4rem .9rem;color:var(--muted);font-weight:700}.view-toggle button.active{background:var(--green);border-color:var(--green);color:#fff}.week-total{margin:.75rem 0 0;color:var(--muted);font-weight:700}.project-summary{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.project-summary .eyebrow{margin-bottom:.5rem}.project-summary ul{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.project-summary li{display:flex;justify-content:space-between;gap:1rem}.project-summary-total{margin-top:.35rem;padding-top:.5rem;border-top:1px solid var(--line);font-weight:700}.panel{margin-bottom:1.25rem;border:1px solid var(--line);border-radius:.75rem;background:var(--paper);padding:clamp(1rem,3vw,2rem);box-shadow:0 8px 24px #1933290a}.status,.queue-count{display:inline-flex;border-radius:99px;background:#e6e7df;padding:.45rem .7rem;color:#46514c;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.status-approved{background:#d7f1dc;color:#17573d}.status-rejected{background:#ffe1dc;color:#8a2418}.status-submitted{background:#dce9ff;color:#234f8a}.entry-form{display:grid;grid-template-columns:1.2fr 1.7fr .7fr 2fr auto;gap:.8rem;align-items:end;padding:1.25rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.entries{display:grid;gap:.45rem;margin:1rem 0}.week-divider{border:0;border-top:1px solid var(--line);margin:1.1rem 0 .6rem}.entry{display:grid;grid-template-columns:1fr 1.5fr .8fr 2fr auto;gap:1rem;border-bottom:1px solid #e8e6dc;padding:.75rem 0;color:#4c5652;font-size:.9rem}.entry strong{color:var(--ink)}.approval-card .entry{grid-template-columns:7rem minmax(0,1.4fr) minmax(0,1fr) 5.5rem minmax(0,2fr)}.approval-card>label{margin-top:1rem}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:start}.stack-form{display:grid;gap:.8rem;margin-bottom:1.5rem}.checkbox-list{border:1px solid var(--line);padding:.75rem 1rem 1rem;display:grid;gap:.35rem;max-height:15rem;overflow-y:auto}.checkbox-list legend{color:var(--muted);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:0 .35rem}.checkbox-list label{display:flex;align-items:center;gap:.6rem;font-weight:400;cursor:pointer}.checkbox-list input{width:1rem;height:1rem;margin:0}.checkbox-list span{display:grid}.checkbox-list small{color:var(--muted)}.compact-list{display:grid}.compact-list>div{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);padding:.75rem 0}.compact-list span{display:grid}.compact-list small{color:var(--muted)}.compact-list.project-rows>div{display:grid;grid-template-columns:minmax(0,1fr) 16rem 7.5rem auto;align-items:center}.compact-list.project-rows select{width:100%}.compact-list.project-rows>div>button{width:100%}.empty-state{border:1px dashed #bdc2b9;background:#faf9f3;padding:3rem;text-align:center}@media(max-width:820px){.login-shell{grid-template-columns:1fr}.login-intro{min-height:38vh}.entry-form,.entry{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-wrap:wrap;padding:1rem 4vw}.topbar nav{order:3;width:100%}.account span{display:none}}@media(max-width:520px){.entry-form,.entry{grid-template-columns:1fr}.page-header{align-items:stretch;flex-direction:column}.month-nav button{flex:1}.login-card{margin:1rem}.login-intro{padding:2rem}.topbar nav{overflow-x:auto}}.language-selector{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem}.language-selector select{min-width:6rem}.entry strong.weekend-date{color:#c62828}.tabs{display:flex;gap:.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line)}.tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:.6rem .9rem;color:var(--muted);font-size:.85rem;font-weight:700;cursor:pointer}.tab:hover{color:var(--ink)}.tab-active{border-bottom-color:var(--green);color:var(--green)}.queue-controls{display:flex;justify-content:flex-end;margin-bottom:.75rem}
