:root{--ink:#1e302a;--muted:#69766e;--green:#193f32;--lime:#d6eb8b;--line:#dde3d9;--paper:#f6f7f1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 15px;color:var(--ink);cursor:pointer}button:hover{background:#edf2e5}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#285e47}.quiet{background:transparent;border-color:transparent}a{color:var(--green)}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fff}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px}.brand b{font-weight:400}.logo{display:inline-grid;place-items:center;background:var(--green);color:var(--lime);width:44px;height:44px;border-radius:12px;font-size:32px}.header-actions{display:flex;gap:8px}main{max-width:1400px;margin:auto;padding:42px 5vw}.intro{display:flex;justify-content:space-between;gap:50px;margin-bottom:34px;align-items:center}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;color:var(--green)}h1{font-size:42px;line-height:1.12;letter-spacing:-1.5px;margin:18px 0}h1 span{color:#728573}.intro>div>p:not(.eyebrow){color:var(--muted);line-height:1.5}.connection{width:310px;border:1px solid var(--line);padding:22px;border-radius:14px;background:#fff}.connection p{font-size:13px;margin:10px 0!important}.connection small{display:block;color:var(--muted);margin-bottom:12px}.dot{display:inline-block;width:8px;height:8px;background:#d6a555;border-radius:50%;margin-right:8px}.dot.live{background:#3c9468}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:35px}.stats article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.stats span{font-size:13px}.stats strong{display:block;font-size:35px;font-weight:600;margin:18px 0 7px;letter-spacing:-1px}.stats small{font-size:16px;font-weight:400;letter-spacing:0}.stats em{font-size:11px;font-style:normal;color:var(--muted)}.stats .year{background:var(--green);color:white;border-color:var(--green)}.stats .year em{color:#c3d5c5}.trips-panel{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}.section-head{padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center}h2{font-size:23px;letter-spacing:-.5px;margin:0 0 8px}.section-head p{margin:0;color:var(--muted);font-size:13px}.section-head>div:last-child{display:flex;gap:8px}.filters{padding:0 24px 20px}.tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow:auto}.tabs button{white-space:nowrap;border:0;border-radius:0;padding:12px 0;background:transparent;color:var(--muted);font-size:13px}.tabs .active{border-bottom:3px solid var(--green);color:var(--green);font-weight:650}.search{display:flex;gap:12px;align-items:end}.search>input{flex:1;min-width:100px}.search label{font-size:11px;margin:0}.search label input{margin-top:5px}.trip-row{display:grid;grid-template-columns:115px 1fr 105px 100px 68px;gap:18px;align-items:center;padding:20px 24px;border-top:1px solid var(--line)}.trip-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.trip-row strong{font-weight:600}.miles{font-size:20px}.pill{display:inline-block;border-radius:20px;font-size:11px;padding:6px 10px;background:#f1ebd8;color:#7e622b;white-space:nowrap}.pill.business{background:#e6f1e4;color:#326047}.pill.personal{background:#e8edf6;color:#4c6486}.pill.ignore{background:#eee;color:#666}.empty{text-align:center;padding:55px 20px 65px;border-top:1px solid var(--line)}.empty .symbol{font-size:40px;color:#94ac8b;margin-bottom:18px}.empty h3{font-size:20px;margin:0 0 12px}.empty p{max-width:460px;margin:0 auto 20px;color:var(--muted);line-height:1.6}#review-count{font-size:11px;background:var(--lime);padding:5px 8px;border-radius:15px;vertical-align:middle;margin-left:5px}#list-total{margin:0;padding:14px 24px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}footer{font-size:12px;color:var(--muted);line-height:1.6;padding:22px 0}label{display:block;font-size:13px;margin:15px 0 0}input,select,textarea{display:block;width:100%;border:1px solid #cfd9ce;border-radius:8px;background:#fff;padding:11px 12px;color:var(--ink);margin-top:7px}textarea{resize:vertical}dialog{border:1px solid var(--line);border-radius:18px;width:620px;max-width:94vw;max-height:90vh;padding:28px;color:var(--ink)}dialog::backdrop{background:#10271eb3;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.close{border:0;font-size:26px;background:transparent;padding:0 5px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wide{width:100%}.hint,#trip-time{font-size:12px;line-height:1.6;color:var(--muted)}.copy{display:flex;gap:8px;align-items:end}.copy input{min-width:0}li{padding:5px 0;line-height:1.5}ol{padding-left:22px}#edit-error,#login-error,#password-error{font-size:13px;color:#a8382e}#route{margin-top:14px}#route svg{background:#edf3e8;width:100%;height:130px;border-radius:10px}#route small{color:var(--muted);font-size:11px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;border-radius:10px;padding:14px 22px;box-shadow:0 5px 30px #0002;z-index:10;max-width:90vw}#login{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at top right,#e2ebcf,transparent 65%)}#login[hidden]{display:none}.login-card{width:420px;max-width:100%;padding:38px;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 90px #203d2810}.login-card h1{font-size:43px}.login-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.login-card button{width:100%;margin-top:20px}.login-card small{font-size:11px;color:var(--muted)}@media(max-width:800px){header{height:auto;min-height:76px;padding:16px 5vw;gap:15px;flex-wrap:wrap}.brand{font-size:17px}.header-actions{gap:2px}.header-actions button{font-size:11px;padding:8px}.intro{display:block;margin-bottom:22px}.connection{width:100%;margin-top:24px}.intro h1{font-size:35px}main{padding-top:25px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats article{padding:18px}.stats strong{font-size:29px}.section-head{align-items:flex-start;flex-direction:column;padding:20px}.filters{padding:0 20px 15px}.search{flex-wrap:wrap}.search>input{flex-basis:100%}.search label{flex:1}.trip-row{grid-template-columns:1fr auto;gap:12px;padding:18px 20px}.trip-date{grid-column:1/-1}.trip-main{grid-column:1;grid-row:2}.trip-mile{grid-column:2;grid-row:2;text-align:right}.trip-category{grid-column:1;grid-row:3}.trip-action{grid-column:2;grid-row:3}.two{gap:10px}dialog{padding:22px}.tabs{gap:17px}h2{font-size:21px}}@media print{header,.intro,.filters,.section-head button,.trip-action,footer{display:none}.stats{grid-template-columns:repeat(4,1fr)}body{background:white}main{padding:0}.trips-panel{border:0}}

[hidden]{display:none!important}

.header-actions{flex-wrap:wrap}#driver-control{font-size:12px;gap:4px}#driver-picker{padding:8px;min-width:115px}
.view-nav{display:flex;gap:10px;margin:0 0 24px}.trip-action{display:flex;gap:6px;flex-wrap:wrap}.trip-row{grid-template-columns:100px 1fr 90px 90px 85px}.trip-action button{padding:8px;font-size:12px}#trip-receipts{border-top:1px solid var(--line);margin-top:24px;padding-top:10px}.receipt-upload-actions{display:flex;gap:10px}.upload-button{border:1px solid var(--line);border-radius:9px;padding:11px 15px;background:var(--green);color:#fff;cursor:pointer;margin:0}.purchase-row{display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:18px;border-bottom:1px solid var(--line);align-items:center}.purchase-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px}#receipt-dialog{width:1000px}.receipt-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,1.2fr);gap:24px}.receipt-layout aside img{width:100%;max-height:65vh;object-fit:contain;background:#eee;border-radius:8px}.receipt-layout aside a{display:block;margin:12px 0}.receipt-layout pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:220px;overflow:auto}.receipt-layout fieldset{padding:0;border:0;min-width:0}.review-warning{background:#fff4d7;padding:12px;border-radius:8px;font-size:12px;line-height:1.5}.review-warning:empty{display:none}.needs-review{border-color:#c79026;background:#fffbee}#receipt-error,#receipt-upload-status{font-size:13px;color:#914c15}#receipt-save{margin-top:14px}.purchase-filters{padding:0 0 22px}.purchase-filters label{flex:1}.spending-breakdowns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:25px 0}.spending-breakdowns section{padding:15px;background:white;border:1px solid var(--line);border-radius:12px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:9px 5px;border-bottom:1px solid var(--line)}th{color:var(--muted)}#spending-totals strong{font-size:27px}#spending-pending{font-size:13px;color:var(--muted)}@media(max-width:800px){.trip-row{grid-template-columns:1fr auto}.receipt-layout{grid-template-columns:1fr}.receipt-layout aside img{max-height:300px}.spending-breakdowns{grid-template-columns:1fr}.purchase-row{gap:8px;padding:14px;grid-template-columns:minmax(0,1fr) auto}.purchase-row button{grid-column:1/-1}.purchase-filters{display:grid;grid-template-columns:1fr 1fr}.purchase-filters label{min-width:0}#spending-totals strong{font-size:24px}.trip-action{justify-content:flex-end}.view-nav button{font-size:13px}}
/* Touch and narrow-screen layout; keep scrolling inside the page or dialog. */
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}button,input,select,textarea,.upload-button{touch-action:manipulation}button,input,select,.upload-button,summary{min-height:44px}input,select,textarea{font-size:16px;min-width:0;max-width:100%}button,.upload-button{white-space:normal}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #64986a;outline-offset:3px}.close{width:44px;min-width:44px;min-height:44px;display:grid;place-items:center}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.two>*,.stats>*,.intro>*,.section-head>*,.trip-row>*,.purchase-row>*{min-width:0}.trip-main,.purchase-row strong,.purchase-row small,#receipt-title,#spending-title{overflow-wrap:anywhere}.table-scroll{max-width:100%;-webkit-overflow-scrolling:touch}#receipt-source{min-width:0}#receipt-source>summary{cursor:pointer;padding:12px 0;font-weight:600}#receipt-source aside{margin-top:8px}.receipt-actions{margin-top:16px}.receipt-actions button{min-height:48px}dialog{overscroll-behavior:contain}#toast{bottom:max(24px,env(safe-area-inset-bottom));pointer-events:none}
@media(max-width:800px){
 header{padding:14px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left));gap:12px}.brand{font-size:18px}.header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;align-items:center}.header-actions button{font-size:14px;min-height:44px;padding:10px}.header-actions #driver-name{font-size:17px;overflow-wrap:anywhere}#driver-control{margin:0;font-size:12px}#driver-picker{min-width:0;min-height:44px;margin-top:4px}#admin-password:not([hidden]){grid-column:1/-1}
 main{padding:18px max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.intro{margin-bottom:16px}.intro>div:first-child{display:none}.connection{padding:16px;margin-top:0;border-radius:12px}.connection p{font-size:13px;overflow-wrap:anywhere}.connection strong{line-height:1.5}.connection .hint{font-size:12px}.connection #sync{width:100%}.view-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}.view-nav button{font-size:14px;min-height:48px;padding:8px}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:22px}.stats article{padding:15px}.stats strong,#spending-totals strong{font-size:clamp(20px,5.7vw,29px);overflow-wrap:anywhere}.stats em{font-size:12px;line-height:1.4}.section-head{padding:16px;gap:14px}.section-head>div:last-child{flex-wrap:wrap;width:100%}.section-head button{min-height:48px;flex:1}.section-head h2{line-height:1.4}#review-count{display:inline-block;margin:4px 0}.filters{padding:0 16px 16px}.tabs{gap:16px;overscroll-behavior-x:contain}.tabs button{min-height:48px;font-size:14px;padding:10px 3px}.search{gap:10px}.search label{min-width:0;font-size:13px}.search input{min-width:0}.search label input{width:100%}
 .trip-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px}.trip-main{font-size:15px;line-height:1.4}.trip-mile{min-width:65px}.trip-category{grid-column:1/-1;grid-row:3}.trip-action{grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:1fr 1fr;gap:10px}.trip-action button{min-height:48px;font-size:15px;padding:10px}.purchase-row{grid-template-columns:minmax(0,1fr) auto;padding:16px;gap:12px}.purchase-row button{min-height:48px;width:100%;grid-column:1/-1}.purchase-row small{font-size:13px;line-height:1.4}.purchase-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:18px}.purchase-filters label{font-size:13px}.spending-breakdowns section{padding:12px}.spending-breakdowns h3{font-size:17px}td,th{font-size:13px;padding:10px 7px}td:first-child{overflow-wrap:anywhere}#spending-pending{line-height:1.5}
 dialog,#receipt-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto;padding:20px 16px max(20px,env(safe-area-inset-bottom));border-radius:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}dialog .dialog-head{position:sticky;top:-20px;z-index:3;margin:-20px -16px 12px;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line);border-radius:16px 16px 0 0}dialog h2{font-size:22px;line-height:1.35}dialog label{font-size:14px}dialog input,dialog select,dialog textarea{font-size:16px;min-height:48px}dialog textarea{min-height:90px}.two{gap:12px}.receipt-layout{grid-template-columns:minmax(0,1fr);gap:12px}.receipt-layout aside img{max-height:260px}.receipt-layout aside a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.receipt-layout pre{font-size:13px}.receipt-layout fieldset{min-width:0}.receipt-upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.upload-button{display:flex;align-items:center;justify-content:center;min-height:50px;font-size:15px;padding:10px}#receipt-open-trip{width:100%}#receipt-save{min-height:50px}#receipt-void{width:100%;font-size:14px}#receipt-math,#receipt-split,.hint,#trip-time{font-size:13px}.review-warning{font-size:13px}.copy button{min-width:65px}.login-card{padding:24px 20px}.login-card h1{font-size:36px}#login{min-height:100dvh;padding:20px 16px}.login-card small{font-size:13px}#toast{font-size:14px;width:max-content;max-width:calc(100vw - 24px);padding:12px 16px}
}
@media(max-width:600px){dialog .two{grid-template-columns:minmax(0,1fr)}.search input[type=date],input[type=datetime-local]{min-width:0;-webkit-min-logical-width:0}.receipt-layout aside img{max-height:220px}}
@media(max-width:359px){.purchase-filters{grid-template-columns:minmax(0,1fr)}.stats article{padding:12px}.header-actions button{font-size:13px}.brand{font-size:17px}.view-nav button{font-size:13px}}
@media(orientation:landscape) and (max-height:500px){dialog,#receipt-dialog{max-height:calc(100dvh - 8px)}dialog .dialog-head{padding-top:4px;padding-bottom:4px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:800px){.spending-breakdowns{grid-template-columns:minmax(0,1fr)}.spending-breakdowns section{min-width:0}.spending-breakdowns table{table-layout:fixed}.spending-breakdowns td,.spending-breakdowns th{overflow-wrap:anywhere}}
@media(max-width:600px){.spending-breakdowns table,.spending-breakdowns tbody,.spending-breakdowns tr{display:block;width:100%}.spending-breakdowns thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.spending-breakdowns tr{padding:8px 0;border-bottom:1px solid var(--line)}.spending-breakdowns td{display:block;border:0;padding:6px 2px}.spending-breakdowns td:first-child{font-weight:600}.spending-breakdowns td[data-label]{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;text-align:right}.spending-breakdowns td[data-label]::before{content:attr(data-label);text-align:left;color:var(--muted)}}
#login{grid-template-columns:minmax(0,1fr)}.login-card{width:100%;max-width:420px;min-width:0;justify-self:center}
select{-webkit-appearance:none;appearance:none;height:48px;min-height:48px;padding-right:34px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23193f32' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
