/* Elegant: an optional visual layer. Classic omits this file entirely. */
:root{--navy:#172f35;--navy-deep:#10252b;--green:#d4e9b6;--green-deep:#365c35;--bg:#f4f6f5;--line:#e3e9e6;--text:#203739;--muted:#617575;--radius:18px;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:.005em}
body{line-height:1.5;background:var(--bg)}h1{font-size:clamp(1.8rem,2.6vw,2.45rem);letter-spacing:-.055em;font-weight:700;line-height:1.15}h2{letter-spacing:-.02em;font-weight:650;font-size:1.08rem}h3{letter-spacing:-.02em}p,small{line-height:1.6}.eyebrow{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#6a8176}.muted{color:var(--muted)}
.sidebar{background:#172f35;padding:35px 22px 25px;border-right:1px solid #ffffff08}.brand{gap:13px;font-size:.9rem;line-height:1.35}.brand small{color:#b0c5bf;font-size:.71rem;margin-top:7px}.sidebar nav{gap:7px;margin-top:42px}.sidebar nav a{border-radius:11px;font-size:.84rem;font-weight:500;padding:13px 14px;color:#c7d7d1;transition:background .15s,color .15s}.sidebar nav a.active{background:#d4e9b6;color:#18342a;border-left:0;padding-left:14px;box-shadow:0 4px 14px #0000000b}.sidebar nav a:hover{background:#29484a;color:white}.sidebar nav a.active:hover{background:#c8dea9;color:#18342a}.sidebar nav a>span{width:21px;font-size:1rem}.sidebar-bottom{border-top-color:#ffffff1c}.profile-link{border-radius:12px;padding:12px 10px}.profile-link:hover{background:#ffffff0b}.avatar{background:#36565a;color:#d9edcf;font-weight:600}.sidebar .profile-name{color:#eef4ed;font-size:.85rem}
.topbar{height:76px;background:#ffffffbd;border-bottom:1px solid var(--line);font-size:.75rem;color:#6e817b;letter-spacing:.025em}.content{padding-top:38px;max-width:1600px}.page-heading{margin-bottom:30px;align-items:flex-start}.page-heading .muted{font-size:.92rem;line-height:1.7;margin-top:12px}.back-link{background:white;border-color:#d1ddd6;box-shadow:0 2px 4px #183d2d03;color:#3c5e50;font-size:.79rem;min-height:42px;padding:9px 14px;border-radius:10px;margin-bottom:24px}.back-link:hover{background:#edf4ed;border-color:#9bb5a2}
.panel,.stat,.daily-kpi{border-color:#e0e8e2;box-shadow:0 4px 22px #15342904}.panel-heading{padding:23px 26px;background:#ffffff}.panel-heading>.muted{font-size:.75rem}.form-section{padding:28px 30px}.form-section h2{margin-bottom:24px}.section-number{font-size:.75rem;color:#7c9587;background:#eef4ee;border-radius:7px;padding:4px 8px;top:27px;right:28px}.form-grid{gap:22px}.form-grid.three{gap:20px}label{font-size:.82rem;font-weight:550;color:#344d45;gap:8px}label small,.field-hint{font-size:.76rem;font-weight:400;line-height:1.6;color:#6d8178}input,select,textarea{background:#fbfcfb;border:1px solid #d5dfd8;border-radius:10px;min-height:46px;padding:12px 13px;color:#233f33;font-size:.91rem;transition:border-color .15s,box-shadow .15s}input:hover,select:hover,textarea:hover{border-color:#a6beb0}input:focus,select:focus,textarea:focus{outline:0;border-color:#52795a;box-shadow:0 0 0 3px #52795a17;background:white}textarea{line-height:1.6;resize:vertical}input[type=checkbox],input[type=radio]{min-height:18px;accent-color:#365c35}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #7e9c55;outline-offset:4px}input:disabled{color:#708176}
.button{border-radius:10px;min-height:44px;font-size:.82rem;font-weight:600;letter-spacing:.005em;padding:12px 17px;box-shadow:none;line-height:1.3;transition:background .15s,border-color .15s,box-shadow .15s}.button.primary{background:#31583e;border-color:#31583e;color:white;box-shadow:0 3px 8px #31583e12}.button.primary:hover{background:#254a31;border-color:#254a31;box-shadow:0 5px 12px #31583e20}.button.secondary{background:white;border-color:#cddbd0;color:#375644}.button.secondary:hover{background:#edf4ec;border-color:#98b59d}.button.compact{padding:9px 13px;min-height:40px}.text-link,.text-button{color:#365f43;font-weight:600;text-decoration:underline;text-decoration-color:#b3cbb7;text-underline-offset:4px}.button:disabled{box-shadow:none;opacity:.5}
.stats{gap:20px;margin-bottom:28px}.stat{padding:25px 26px}.stat>span{font-size:.77rem;color:#6a8074;font-weight:500}.stat>strong{font-size:1.9rem;letter-spacing:-.04em;margin-top:13px;color:#22432f}.stat>small{font-size:.73rem;color:#7d8f84}.primary-stat{background:#193b30;border-color:#193b30}.primary-stat>span,.primary-stat>small{color:#bbd2c1}.primary-stat>strong{color:#e1f0d1}.category-summary{padding:15px 25px 21px}.category-summary>div{padding:12px 0}.category-summary .total-row{border-top-color:#dbe5de}.report-summary .panel{border-radius:17px}.report-layout{gap:26px;grid-template-columns:minmax(0,1fr) 310px}.entry-layout{gap:26px;grid-template-columns:minmax(0,1fr) 285px}.entry-totals{background:#fafff9;border-color:#d2e1cc;box-shadow:0 8px 30px #234d2006;padding:26px}.entry-totals>strong{font-size:2.05rem;color:#234a32}.entry-totals .eyebrow{color:#698661}.entry-totals .button{min-height:46px}.km-calculation-summary{margin-top:26px;background:#f0f6ed;border:1px solid #deead7;padding:18px 20px;border-radius:12px;color:#44623b}.km-calculation-summary strong{color:#244d2f;margin-left:5px}.upload-label{border:1px dashed #a7bea9;background:#f8fbf6;border-radius:12px;padding:22px}.upload-label:hover{border-color:#648b67;background:#f3f8ef}.scan-progress-row{padding:20px;border-radius:12px;background:#f4f8f2;border-color:#dce8d4;margin-top:14px}.scan-preview .panel-heading{background:#f8faf7}.scan-review-layout{gap:26px}
.day-heading{background:#f0f4ef;padding:15px 25px;border-top:1px solid #e0e8df;border-bottom:1px solid #e0e8df}.day-heading h3{font-size:.84rem;font-weight:650;color:#45634a}.day-heading span{font-size:.76rem;color:#6a7d6b}.expense-row{padding:24px 25px;gap:18px;transition:background .15s}.expense-row:hover{background:#fbfdfb}.date-tile{background:#f0f5ee;border-radius:12px;width:48px;min-height:58px;color:#46633d}.date-tile strong{font-size:1.15rem}.date-tile small{color:#72816c;font-size:.65rem}.row-title{font-size:.94rem;font-weight:650;color:#263f32}.expense-main>p{color:#758474;font-size:.77rem}.expense-total>strong{font-size:1.03rem;letter-spacing:-.02em;color:#2e4d36}.expense-total .text-link{font-size:.72rem}.chips{gap:6px;margin-top:12px}.chip,.category-chip,.receipt-chip{font-size:.66rem;padding:5px 8px;border-radius:6px;font-weight:500}.chip{background:#eaf0ed;color:#567062}.category-chip{background:#f1f3f0;color:#6a7866}.receipt-chip.ok{background:#edf6e6;color:#4f7138}.receipt-chip.pending{background:#fbf3e4;color:#92682f}.badge{border-radius:7px;padding:6px 10px;font-size:.7rem;font-weight:600}.badge.draft{background:#eef1ee;color:#667566}.badge.submitted{background:#e9f0f8;color:#496c94}.badge.approved{background:#eaf4e3;color:#4d7535}.badge.returned{background:#fcf0d9;color:#936c29}.badge.paid{background:#e4f0eb;color:#3e7764}.notice{border-radius:12px;padding:17px 20px;font-size:.83rem;line-height:1.6}.notice.warning{border-color:#eedcae;background:#fff9ec;color:#7c6333}.notice.success{border-color:#cfdfc4;background:#f3f9ec;color:#476b36}.fx-global-note{padding:17px 20px}.fx-panel .panel-heading{background:#f8faf6}.fx-row form{min-width:min(340px,100%)}.fx-status{font-size:.74rem}.fx-row strong{font-size:.88rem}.fx-row .fx-status{color:#85682d}.fx-row small{font-size:.75rem}
th{background:#f5f8f4;font-size:.71rem;letter-spacing:.035em;text-transform:uppercase;color:#70816f;font-weight:600;padding:16px 20px}td{padding:20px;font-size:.84rem;border-color:#edf1eb}tbody tr:hover{background:#fcfdfb}.filters{padding:22px 25px;background:#f9fbf7;border-bottom:1px solid #e7eee1;gap:15px}.history>summary,.other-month>summary,.optional-costs>summary,.travel-section>summary{font-weight:600;color:#47613e}.history-list pre{border-radius:10px;background:#f4f7f0}.history-filters>summary{color:#68835b;font-size:.8rem}.worker-history-row{padding:24px 26px}.worker-history-row h3{font-size:.94rem;font-weight:600}.worker-history-row p{font-size:.77rem;color:#74856d}.worker-history-row>div>strong{font-size:1.08rem;color:#35522f}.quick-entry{background:linear-gradient(120deg,#fff 30%,#f4f9ed);border-color:#d8e5cc;padding:29px}.quick-entry h2{font-size:1.25rem;letter-spacing:-.03em}.quick-buttons{gap:14px}.quick-buttons .button{border-radius:13px;padding:20px 22px;text-align:left;font-size:1rem;min-height:86px}.quick-buttons .button span{font-size:.73rem;opacity:.82;margin-top:7px;display:block;font-weight:400}.quick-report-link{margin-top:16px}.worker-dock{background:#ffffffef;border-top:1px solid #dce6d6;box-shadow:0 -5px 25px #163e1c05}.footer{color:#899480;font-size:.68rem;padding-top:28px;padding-bottom:28px}.profile{gap:22px}.profile dt{font-size:.78rem}.profile dd{font-size:.85rem}.account-logout{margin-top:12px}.appearance-options label{background:#fcfdfb;border-radius:14px;border-color:#d2e0cb}.appearance-options label:has(input:checked){border-color:#74965d;background:#f2f8e9;box-shadow:0 0 0 2px #74965d12}
.auth-body{background:radial-gradient(ellipse at 10% 15%,#31533d,transparent 60%),#132b2e}.auth-card{border:1px solid #ffffff80;box-shadow:0 30px 80px #061c2540;padding:43px;border-radius:23px}.auth-card h1{font-size:2rem}.auth-card .button{min-height:48px}.auth-card input{background:#fbfcf9}.auth-help{border-top:1px solid #e1e8db;padding-top:20px}.auth-card .back-link{margin-top:20px}
@media(min-width:1100px){.sidebar{width:256px}.main{margin-left:256px;width:calc(100% - 256px)}.content{padding-left:42px;padding-right:42px}.topbar{padding-left:42px;padding-right:42px}}
@media(max-width:1100px) and (min-width:851px){.report-layout,.entry-layout{grid-template-columns:minmax(0,1fr) 270px}.content{padding-left:25px;padding-right:25px}.form-section{padding:25px}}
@media(max-width:850px){.sidebar{padding:14px 18px;background:#172f35}.sidebar .brand-logo{width:36px;height:36px}.sidebar nav{margin-top:10px;gap:7px}.sidebar nav a{font-size:.79rem;padding:12px}.sidebar nav a.active{padding-left:12px}.sidebar .profile-name{font-size:.74rem}.sidebar .brand small{font-size:.62rem;color:#b1c6b1}.main{width:100%;margin-left:0}.content{padding:26px 18px 20px}.topbar{height:47px;padding:0 19px;background:#f9fcf6;font-size:.68rem}.page-heading{gap:14px;margin-bottom:23px}.page-heading .muted{font-size:.82rem;line-height:1.6}.page-heading h1{font-size:1.9rem}.form-section{padding:23px 21px}.form-grid,.form-grid.three{gap:18px}.panel{border-radius:15px;margin-bottom:19px}.panel-heading{padding:20px 21px}.stat{padding:20px}.stats{gap:12px}.stat>strong{font-size:1.6rem}.report-layout{display:block}.entry-layout{display:flex;flex-direction:column}.entry-totals{position:static;top:auto}.back-link{margin-bottom:22px;min-height:44px}.expense-row{padding:21px;gap:14px}.day-heading{padding:14px 21px}.date-tile{width:42px;min-height:52px}.expense-main .row-title{font-size:.88rem}.expense-total{min-width:85px}.expense-total>strong{font-size:.95rem}.quick-entry{padding:25px 21px}.quick-buttons{gap:11px}.quick-buttons .button{padding:18px;min-height:80px}.worker-history-row{padding:22px 21px}.section-number{top:24px;right:21px}.fx-row form{min-width:0}.footer{padding:20px;font-size:.66rem}.mobile-menu{border-radius:9px;border-color:#58746c;color:white;background:#29453f;min-height:40px}}
@media(max-width:520px){input,select,textarea{font-size:16px;min-height:48px}label{font-size:.8rem}.button{min-height:46px}.content{padding-left:14px;padding-right:14px}.auth-card{padding:28px 23px}.expense-row{flex-wrap:wrap;gap:12px}.expense-main{min-width:calc(100% - 62px)}.expense-total{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding-left:54px;text-align:left;flex-wrap:wrap}.expense-total .text-link{margin-top:0;font-size:.76rem}.expense-total small{max-width:none;margin:0}.expense-total>strong{font-size:1.04rem}.day-heading{gap:8px;flex-wrap:wrap}.quick-buttons{grid-template-columns:1fr}.quick-buttons .button{min-height:72px}.form-section{padding:23px 19px}.stat>span{font-size:.7rem}.stat>strong{font-size:1.4rem}.badge{font-size:.69rem}.fx-row form .button{width:100%}.fx-global-note .button{width:100%}.entry-totals>strong{font-size:2rem}.entry-totals .button{min-height:48px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.fx-global-note,.appearance-options{display:none}.panel{box-shadow:none}body{background:white}}
