:root{--ink:#17243a;--accent:#176b61;--muted:#69768a;--line:#e2e8ef}
body{background:#f4f6f8;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #4aafa0;outline-offset:3px}
.welcome{max-width:1120px;margin:0 auto;padding:40px 32px}.welcomeBrand{font-weight:750;font-size:24px;color:var(--accent)}.welcomeLayout{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;min-height:72vh}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:700;color:var(--accent);text-transform:uppercase}.welcome h1{font-size:clamp(36px,5vw,64px);line-height:1.08;letter-spacing:-.04em;margin:18px 0 24px}.welcome p{color:var(--muted);font-size:18px;line-height:1.65}.welcomeSteps{display:grid;gap:24px;margin-top:32px}.welcomeSteps div{display:flex;gap:14px;align-items:center}.stepNumber{border:1px solid #b9d7d1;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;color:var(--accent);flex-shrink:0}.signinCard{background:white;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:0 16px 48px #17243a08}.signinCard h2{font-size:26px;margin:0 0 12px}.signinCard p{font-size:15px}.signinCard a{display:block;text-align:center;text-decoration:none;background:var(--accent);color:white;padding:15px;border-radius:10px;font-weight:650;margin:26px 0 16px}.signinCard small{display:block;color:var(--muted);line-height:1.6}.accountBar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.accountIdentity{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.accountIdentity strong{display:block;color:var(--ink);font-size:15px}.syncStatus{color:var(--accent);font-size:12px;max-width:330px}.workspaceRail{display:none}.primary{background:var(--accent)!important;box-shadow:none!important}.hero{background:#173d39!important;box-shadow:none!important}.hero .flag{display:none}.card,.stat{border:1px solid var(--line);box-shadow:none!important}.brandLockup{display:none}.logo{background:var(--accent)}.top{border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:24px}.title b{font-size:22px}.top .ghost{background:white;border:1px solid var(--line)}.bottomNav{background:white}.section h2{font-size:17px}.actionsCard{display:flex;gap:12px}.actionsCard button{margin:0;flex:1}.bootMessage{color:#a43d27;font-size:14px;line-height:1.6}.welcomeFoot{font-size:12px;color:var(--muted)}
@media(min-width:1000px){.app{max-width:1280px;margin:0 auto;padding:32px 40px 64px 250px}.workspaceRail{display:flex;flex-direction:column;position:fixed;left:max(20px,calc((100vw - 1280px)/2 + 20px));top:34px;width:185px;gap:8px}.railBrand{color:var(--accent);font-weight:750;font-size:24px;padding:10px 12px 32px}.workspaceRail button{text-align:left;background:transparent;color:var(--muted);border:none;border-radius:9px;padding:14px}.workspaceRail button:first-of-type{background:#e1eeeb;color:var(--accent);font-weight:650}.bottomNav{display:none}main{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}main>.hero,main>.grid,main>.actionsCard{grid-column:1/-1}main>.card{margin:0}.hero{padding:28px 32px}.grid{margin:0}.sheet{max-width:740px}.accountBar{margin-bottom:20px}}
.accountActions{display:flex;gap:8px;flex-wrap:wrap}.signinCard details summary{cursor:pointer;color:var(--muted);font-size:14px}.signinCard button:disabled{opacity:.55;cursor:wait}.check p{line-height:1.5}
@media(max-width:650px){.welcome{padding:24px}.welcomeLayout{grid-template-columns:1fr;gap:32px;padding:36px 0;min-height:auto}.welcome h1{font-size:40px}.signinCard{padding:26px}.app{padding:20px 16px 96px}.accountBar{align-items:flex-start;gap:10px;flex-wrap:wrap}.accountBar button{padding:10px;font-size:12px;min-height:44px}.syncStatus{max-width:210px}.actionsCard{flex-direction:column}.top{gap:8px}.title b{font-size:18px}.accountIdentity strong{font-size:13px}.accountActions{width:100%}.accountActions button{flex:1}.tiny{min-height:40px}}

.tripDashboard h1{font-size:32px;margin:10px 0}.dashboardHeading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.dashboardHeading p{color:var(--muted);line-height:1.6}.dashboardTrips{display:grid;gap:16px}.dashboardTrips .tripCard{margin:0;background:white;border:1px solid var(--line)}.tripTitle{margin:0 0 8px;font-size:20px}.backToTrips{margin-bottom:20px}.workspaceRail button:first-of-type{background:transparent}.workspaceRail button:disabled,.bottomNav button:disabled{opacity:.4}.dashboardTrips .tripActions{display:flex;flex-wrap:wrap}.dashboardTrips .tripActions button{min-height:44px;flex:1}.emptyTrips{padding:36px 20px;background:white;border:1px dashed #b9d7d1;border-radius:16px;text-align:center}.emptyTrips p{color:var(--muted)}@media(max-width:650px){.dashboardHeading{align-items:stretch;flex-direction:column;gap:8px}.dashboardHeading h1{font-size:28px}}

.tripDashboard{animation:arrive .22s ease-out}.dashboardHeading{padding:28px;border-radius:22px;background:linear-gradient(130deg,#e5f2ef,#f9fcfb);border:1px solid #d1e6df}.dashboardHeading h1{letter-spacing:-.04em}.tripCard{border-radius:18px!important;padding:22px!important;box-shadow:0 8px 24px #17243a05!important;transition:transform .15s,border-color .15s}.tripCard:hover{border-color:#9dc8bd!important;transform:translateY(-2px)}.tripBadge{background:#edf3f1!important;color:#176b61!important}.dashboardTrips .tripMeta{line-height:1.7}.tripActions{margin-top:18px}.storageStat progress{width:100%;height:12px;margin-top:20px;accent-color:var(--accent)}.dashboardTools{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.dashboardTools button{min-height:44px}.backToTrips{border-radius:999px}.accountIdentity strong{font-size:16px}.syncStatus{border-radius:10px;padding:9px 12px;background:#eaf4ef;overflow-wrap:anywhere}.hero{border-radius:22px}.receipt #preview{max-height:440px;object-fit:contain;background:#eef2f5}.emptyTrips h2{font-size:24px;letter-spacing:-.02em}.emptyTrips button{margin-top:14px}@keyframes arrive{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tripDashboard{animation:none}.tripCard{transition:none}.tripCard:hover{transform:none}}@media(max-width:650px){.dashboardHeading{padding:22px}.tripCard{padding:18px!important}.tripTop{gap:12px}.dashboardTools button{flex:1}.syncStatus{max-width:100%;width:100%}.dashboardTrips .tripActions button{font-size:12px;padding:10px}.dashboardHeading p{margin-bottom:8px}}

.storageWarning{color:#a05b14;font-weight:700}.dashboardTools .small{display:block;margin-top:4px}

.dashboardHeading>.primary{width:auto;flex-shrink:0;padding:16px 24px}@media(max-width:650px){.dashboardHeading>.primary{width:100%}}
@media(max-width:650px){#expenseForm>.modalActions{display:grid;grid-template-columns:1fr 1fr}#expenseForm>.modalActions>button[type="submit"]{grid-column:1/-1}} .actionDialog[aria-label="Import receipts PDF"]{max-width:min(760px,94vw)}
.receiptScanner{box-sizing:border-box;width:min(760px,100vw);max-width:100vw;max-height:100dvh;padding:18px;border:0;border-radius:22px;background:#fff;color:#17253b;overflow:auto}
.receiptScanner::backdrop{background:rgba(8,19,36,.8)}
.receiptScanner header{display:flex;justify-content:space-between;align-items:center;gap:12px}.receiptScanner header b{font-size:21px}.receiptScanner header p{margin:4px 0;color:#64748b;font-size:13px}
.scannerStage{background:#101c2d;border-radius:12px;overflow:hidden;display:flex;justify-content:center;min-height:180px}.scannerStage video{max-width:100%;max-height:55dvh;object-fit:contain}.scannerStage video[hidden],.scannerImage[hidden]{display:none}
.scannerImage{position:relative;line-height:0;max-width:100%;margin:18px}.scannerImage canvas{display:block;max-width:100%;max-height:55dvh;width:auto;height:auto}.scannerImage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;touch-action:none}.scannerImage polygon{fill:rgba(37,99,235,.10);stroke:#60a5fa;stroke-width:4;vector-effect:non-scaling-stroke}.scannerImage ellipse{fill:#fff;stroke:#2563eb;stroke-width:4;vector-effect:non-scaling-stroke;cursor:grab}.scannerImage ellipse:focus{fill:#fbbf24;outline:none}
.scannerHelp,.scannerMessage{font-size:14px;line-height:1.5}.scannerActions{display:flex;flex-wrap:wrap;gap:8px}.scannerActions button{min-height:44px}.scannerActions button[hidden]{display:none}.scannerClose{min-height:44px;min-width:44px}
@media(max-width:650px){.receiptScanner{width:100vw;border-radius:0;padding:16px}.scannerStage video,.scannerImage canvas{max-height:40dvh}.scannerActions{display:grid;grid-template-columns:1fr 1fr}.scannerActions .primary{grid-column:1/-1}}
.scannerLive{position:relative;max-width:100%;line-height:0}.scannerLive[hidden]{display:none}.scannerLive video{display:block}.scannerLive .liveBorders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.liveBorders polygon{fill:rgba(37,99,235,.08);stroke:#60a5fa;stroke-width:4;vector-effect:non-scaling-stroke}.liveBorders.steady polygon{stroke:#34d399;fill:rgba(52,211,153,.08)}
.scannerAuto{display:flex;align-items:center;gap:8px;font-size:14px;margin:12px 0}.scannerAuto[hidden],.scannerFineAdjust[hidden],.cropMagnifier[hidden]{display:none}.scannerAuto input{width:20px;height:20px;flex:none}.scannerFineAdjust{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin:12px 0}.scannerFineAdjust label{font-size:13px;margin:0}.scannerFineAdjust select{min-height:44px}.scannerFineAdjust>div{display:flex;gap:4px}.scannerFineAdjust button{min-width:44px;min-height:44px;padding:8px}
.scannerImage .cropMagnifier{position:fixed;top:18px;right:18px;width:120px;height:120px;max-width:none;max-height:none;z-index:2;border:3px solid #2563eb;border-radius:12px;box-shadow:0 4px 20px #0006;pointer-events:none}
.scannerImage svg{user-select:none;-webkit-user-select:none}.scannerImage ellipse{touch-action:none}
@media(max-width:650px){.scannerFineAdjust{margin:8px 0}.scannerFineAdjust label{display:flex;align-items:center;gap:8px}.scannerFineAdjust>div{margin-left:auto}.scannerFineAdjust select{max-width:120px}.scannerStage video,.scannerImage canvas{max-height:34dvh}}
.liveBorders polygon,.liveBorders.steady polygon{fill:none;stroke-width:1.5;stroke-linejoin:round}
.scannerImage polygon{fill:none;stroke-width:1.5;stroke-linejoin:round}
.scannerImage .scannerHit{fill:transparent;stroke:none;pointer-events:all}
.scannerImage .scannerHandleDot{fill:#fff;stroke:#2563eb;stroke-width:2;pointer-events:none}
.scannerImage [data-corner]:focus .scannerHandleDot{fill:#fbbf24}
.scannerMessage{min-height:42px;margin:10px 0}
.receiptScanner header{padding-bottom:4px;border-bottom:1px solid #e8edf4}
.scannerActions .primary{border-radius:28px}

.scannerTools{display:flex;gap:8px}.scannerTools[hidden]{display:none}
@media(max-width:650px){.scannerTools{display:grid;grid-template-columns:repeat(3,1fr);grid-column:1/-1}.scannerTools button{padding:8px;font-size:13px}}

@media(max-width:650px){.scannerActions:has([data-scan="use"]:not([hidden])):has([data-scan="retake"][hidden]) [data-scan="cancel"]{grid-column:1/-1}}
