:root{--ink:#242b3d;--muted:#6f7480;--green:#14388a;--green-2:#2a65e5;--mint:#eaf0fd;--cream:#f9f7f2;--line:#e1e5ee;--white:#fff;--shadow:0 18px 45px rgba(20,56,138,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:258px;display:flex;flex-direction:column;padding:32px 20px 22px;background:linear-gradient(165deg,#14388a,#0c2867);color:#e0e7f8;z-index:20}.brand{display:flex;align-items:center;min-height:34px;padding:0 10px;color:white}.brand img{width:100%;max-width:188px;height:auto}.sidebar nav{display:grid;gap:6px;margin-top:43px}.nav-link{display:flex;align-items:center;gap:13px;min-height:46px;padding:0 13px;border-radius:999px;color:#d7e0f6;font-size:14px;font-weight:560}.nav-link span{width:20px;text-align:center;font-size:18px}.nav-link.active,.nav-link:hover{color:white;background:rgba(255,255,255,.09)}.sidebar-bottom{margin-top:auto}.profile{display:flex;align-items:center;gap:10px;margin-top:14px;padding:18px 8px 0;border-top:1px solid rgba(255,255,255,.12)}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--green);font-size:11px;font-weight:800}.profile small,.profile strong{display:block}.profile strong{color:white;font-size:13px}.profile small{margin-top:3px;color:#aebee5;font-size:11px}.main{min-height:100vh;margin-left:258px;padding:48px clamp(28px,4vw,70px)}.mobile-header{display:none}.mobile-menu{position:relative;z-index:51}.mobile-menu-trigger{position:relative;z-index:53;display:grid;place-items:center;padding:0;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.mobile-menu-trigger:focus-visible,.mobile-menu-trigger:hover{color:var(--green-2);border-color:#9eb2dc;background:#f7f9ff;outline:none}.mobile-menu-backdrop{position:fixed;inset:0;z-index:50;width:auto!important;height:auto!important;padding:0;border:0!important;border-radius:0!important;background:rgba(20,31,62,.16)!important;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.mobile-menu-panel{position:absolute;z-index:52;top:calc(100% + 11px);right:0;width:min(255px,calc(100vw - 32px));padding:12px;background:white;border:1px solid #dce3f1;border-radius:16px;box-shadow:0 20px 48px rgba(20,56,138,.2);animation:mobile-menu-in .16s ease-out}.mobile-menu-account{display:flex;align-items:center;gap:11px;padding:7px 7px 13px;border-bottom:1px solid var(--line)}.mobile-menu-account>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;color:white;background:var(--green);border-radius:50%;font-size:11px;font-weight:850}.mobile-menu-account small,.mobile-menu-account strong{display:block}.mobile-menu-account strong{color:var(--green);font-size:13px}.mobile-menu-account small{margin-top:3px;color:var(--muted);font-size:10px}.mobile-menu-panel form{margin-top:8px}.mobile-logout-button{display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:0 12px;color:#982e38;background:#fff4f5;border:0;border-radius:11px;font-size:13px;font-weight:750;cursor:pointer}.mobile-logout-button:focus-visible,.mobile-logout-button:hover{background:#ffe9eb;outline:2px solid rgba(152,46,56,.15);outline-offset:1px}@keyframes mobile-menu-in{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;max-width:1220px;margin:auto}.eyebrow{margin:0 0 9px;color:var(--green-2);font-size:11px;font-weight:800;letter-spacing:1.35px}.welcome h1{margin:0;color:var(--green);font-family:Georgia,serif;font-size:clamp(34px,4vw,48px);font-weight:500;letter-spacing:-1.5px}.welcome p:not(.eyebrow){margin:9px 0 0;color:var(--muted)}.primary-button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 22px;border:0;border-radius:999px;font-weight:680;font-size:14px;cursor:pointer}.primary-button{color:white;background:var(--green-2);box-shadow:0 8px 22px rgba(42,101,229,.22)}.primary-button:hover{background:#1f56c8}.secondary-button{color:var(--green);background:white;border:1px solid #cbd5ed}.secondary-button:hover{background:#f3f6fd}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1220px;margin:34px auto 18px}.metrics article{min-height:124px;padding:22px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 7px 24px rgba(20,56,138,.04)}.metric-label{display:block;color:var(--muted);font-size:12px;font-weight:650}.metrics strong{display:block;margin:12px 0 7px;color:var(--green);font-family:Georgia,serif;font-size:28px;font-weight:500}.metrics small{color:#9297a2}.metrics .status-ok{color:var(--green-2)}.content-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.72fr);gap:18px;max-width:1220px;margin:auto}.panel{background:white;border:1px solid var(--line);border-radius:17px;box-shadow:0 7px 24px rgba(20,56,138,.04)}.panel-heading{display:flex;justify-content:space-between;align-items:start;padding:23px 25px;border-bottom:1px solid var(--line)}.panel h2{margin:0;font-family:Georgia,serif;font-size:21px;font-weight:500}.panel-heading p{margin:6px 0 0;color:var(--muted);font-size:12px}.panel-heading a{color:var(--green-2);font-size:12px;font-weight:750}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;padding:38px;text-align:center}.empty-icon{display:grid;place-items:center;width:62px;height:62px;color:var(--green-2);background:var(--mint);border-radius:50%}.empty-state h3{margin:18px 0 7px;color:var(--green);font-family:Georgia,serif;font-size:20px;font-weight:500}.empty-state p{max-width:330px;margin:0 0 21px;color:var(--muted);font-size:13px;line-height:1.55}.start-card{padding:27px;background:linear-gradient(145deg,#eef3ff,#f7f9ff);border-color:#d9e2f7}.step-badge{display:inline-block;padding:6px 9px;color:var(--green);background:#dfe8fb;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:1px}.start-card h2{margin-top:17px;color:var(--green);line-height:1.25}.start-card ol{display:grid;gap:18px;margin:25px 0;padding:0;list-style:none}.start-card li{display:flex;gap:12px;align-items:center}.start-card li>span{display:grid;flex:0 0 29px;place-items:center;height:29px;color:white;background:var(--green-2);border-radius:50%;font-size:11px;font-weight:800}.start-card small,.start-card strong{display:block}.start-card strong{font-size:12px}.start-card small{margin-top:3px;color:var(--muted);font-size:11px}.full{width:100%}.privacy-note{margin:13px 0 0;text-align:center;color:#76809a;font-size:10px}.bottom-nav{display:none}.capture-page{display:grid;min-height:100vh;place-items:center;padding:28px;background:radial-gradient(circle at 50% 0,#eaf0fd,#f9f7f2 58%)}.capture-card{width:min(100%,540px);padding:clamp(28px,6vw,52px);text-align:center;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.capture-brand{display:inline-flex;margin:0 auto 28px;padding:13px 18px;background:var(--green);border-radius:999px}.capture-brand img{width:164px;height:auto}.back-link{display:block;margin-bottom:28px;text-align:left;color:var(--green-2);font-size:13px;font-weight:700}.capture-symbol{display:grid;place-items:center;width:76px;height:76px;margin:auto auto 20px;color:var(--green-2);background:var(--mint);border-radius:50%;font-size:38px}.capture-card h1{margin:0;color:var(--green);font-family:Georgia,serif;font-size:36px;font-weight:500}.capture-card>p:not(.eyebrow):not(.phase-note){color:var(--muted);line-height:1.6}.capture-actions{display:grid;gap:11px;margin:29px 0 22px}.file-button{position:relative}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.tip{display:flex;gap:12px;padding:15px;text-align:left;background:#edf2fd;border-radius:12px;font-size:12px}.tip strong{color:var(--green)}.tip span{color:#5c6680}.phase-note{margin:18px 0 0;color:#87908c;font-size:11px}.receipt-preview{display:block;width:100%;max-height:310px;margin:22px 0 18px;object-fit:contain;background:#f3f5f9;border:1px solid var(--line);border-radius:14px}.ocr-progress{margin:24px 0;color:var(--green)}.progress-track{height:9px;overflow:hidden;background:#e7ecf7;border-radius:999px}.progress-track span{display:block;height:100%;background:var(--green-2);border-radius:inherit;transition:width .2s ease}.ocr-progress strong{display:block;margin-top:10px;font-size:13px}.ocr-progress p{margin:5px 0 0;color:var(--muted);font-size:12px}.ocr-message{margin:12px 0 17px;padding:12px 14px;color:#254b25;text-align:left;background:#eef8ee;border-radius:10px;font-size:12px;line-height:1.45}.ocr-message.is-error{color:#8b2830;background:#fff0f1}.receipt-form{display:grid;gap:14px;text-align:left}.receipt-form label{display:grid;gap:7px;color:var(--green);font-size:12px;font-weight:750}.receipt-form input{width:100%;min-height:48px;padding:0 13px;color:var(--ink);background:white;border:1px solid #cbd3e3;border-radius:10px;outline:none}.receipt-form input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(42,101,229,.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.participants-field{display:grid;gap:7px}.participant-entry{display:grid;grid-template-columns:1fr auto;gap:8px}.participant-entry button{min-width:82px;color:var(--green);background:var(--mint);border:0;border-radius:10px;font-weight:750;cursor:pointer}.participants-field small{color:var(--muted);font-size:10px;line-height:1.4}.participant-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:3px}.participant-chips>span{display:inline-flex;align-items:center;gap:5px;padding:7px 8px 7px 10px;color:var(--green);background:#eaf0fd;border-radius:999px;font-size:11px;font-weight:700}.participant-chips button{display:grid;place-items:center;width:20px;height:20px;padding:0;color:var(--green);background:rgba(255,255,255,.75);border:0;border-radius:50%;cursor:pointer}.save-expense-button{min-height:56px;margin-top:21px;font-size:15px}.primary-button:disabled{cursor:wait;opacity:.65}.saved-banner{display:flex;gap:8px;align-items:center;max-width:1220px;margin:0 auto 22px;padding:13px 17px;color:#245425;background:#eaf7eb;border:1px solid #cee9d0;border-radius:12px;font-size:12px}.saved-banner span{color:#4f7250}.expense-list{display:grid}.expense-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:15px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.expense-row:last-child{border-bottom:0}.expense-row>img{width:76px;height:72px;object-fit:cover;background:#f1f3f7;border:1px solid var(--line);border-radius:10px}.expense-main{min-width:0}.expense-main small,.expense-main span,.expense-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-main strong{color:var(--green);font-size:14px}.expense-main span{margin-top:5px;color:var(--green-2);font-size:12px;font-weight:700}.expense-main small{margin-top:5px;color:var(--muted);font-size:11px}.expense-total{color:var(--green);font-family:Georgia,serif;font-size:18px;white-space:nowrap}.empty-state.compact{min-height:180px}.section-page{max-width:none}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;max-width:1220px;margin:0 auto 30px}.section-heading h1{margin:0;color:var(--green);font-family:Georgia,serif;font-size:clamp(36px,4vw,48px);font-weight:500}.section-heading p:not(.eyebrow){margin:8px 0 0;color:var(--muted)}.heading-actions{display:flex;gap:10px}.list-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:14px;align-items:end;max-width:1220px;margin:0 auto 16px}.list-toolbar>label{display:grid;gap:7px;color:var(--green);font-size:11px;font-weight:750}.list-toolbar input,.report-controls input{min-height:48px;padding:0 14px;color:var(--ink);background:white;border:1px solid #ccd5e6;border-radius:11px;outline:none}.list-toolbar>div{display:grid;min-width:145px;min-height:70px;align-content:center;padding:10px 15px;background:white;border:1px solid var(--line);border-radius:12px}.list-toolbar>div strong{color:var(--green);font-size:18px}.list-toolbar>div span{margin-top:3px;color:var(--muted);font-size:10px}.full-expense-panel{max-width:1220px;margin:auto;overflow:hidden}.full-expense-list{display:grid}.full-expense-row{display:grid;grid-template-columns:74px minmax(190px,1.15fr) minmax(220px,1.3fr) auto;gap:18px;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.full-expense-row:last-child{border-bottom:0}.receipt-link img{display:block;width:74px;height:70px;object-fit:cover;background:#f2f4f8;border:1px solid var(--line);border-radius:10px}.expense-amount small,.expense-amount strong,.expense-description small,.expense-description span,.expense-description strong,.expense-people span,.expense-people strong{display:block}.expense-description strong{color:var(--green)}.expense-description span{margin-top:5px;color:var(--green-2);font-size:12px;font-weight:750}.expense-amount small,.expense-description small{margin-top:5px;color:var(--muted)}.expense-people span{color:var(--muted);font-size:10px}.expense-people strong{margin-top:6px;font-size:12px;line-height:1.4}.expense-amount{text-align:right}.expense-amount strong{color:var(--green);font-family:Georgia,serif;font-size:20px}.report-controls{display:grid;grid-template-columns:auto minmax(180px,.55fr) minmax(210px,.8fr);gap:18px;align-items:end;max-width:1220px;margin:0 auto 16px;padding:18px}.period-tabs{display:flex;gap:6px;flex-wrap:wrap}.period-tabs button{min-height:42px;padding:0 15px;color:var(--green);background:#edf2fd;border:0;border-radius:999px;font-weight:700;cursor:pointer}.period-tabs button.active{color:white;background:var(--green-2)}.custom-dates label,.date-control{display:grid;gap:6px;color:var(--green);font-size:10px;font-weight:750}.custom-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}.selected-period{display:grid;gap:5px;padding:8px 12px;border-left:3px solid var(--green-2)}.selected-period span{color:var(--muted);font-size:10px}.selected-period strong{color:var(--green);font-size:13px;text-transform:capitalize}.report-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1220px;margin:0 auto 16px}.report-metrics article{display:grid;gap:9px;min-height:105px;align-content:center;padding:18px;background:white;border:1px solid var(--line);border-radius:14px}.report-metrics span{color:var(--muted);font-size:11px}.report-metrics strong{color:var(--green);font-family:Georgia,serif;font-size:24px;font-weight:500}.report-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(270px,.8fr);gap:16px;max-width:1220px;margin:auto}.report-table-card{min-width:0;overflow:hidden}.report-table-wrap{overflow-x:auto}.report-table{width:100%;border-collapse:collapse;font-size:11px}.report-table th{padding:11px 13px;color:var(--green);text-align:left;background:#f1f5fd;white-space:nowrap}.report-table td,.report-table th{border-bottom:1px solid var(--line)}.report-table td{padding:12px 13px;vertical-align:top}.report-table tr:last-child td{border-bottom:0}.report-table td:nth-last-child(-n+2),.report-table th:nth-last-child(-n+2){text-align:right;white-space:nowrap}.hotel-list{display:grid}.hotel-list>div{display:flex;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid var(--line)}.hotel-list small,.hotel-list>div>span strong{display:block}.hotel-list>div>span strong{color:var(--green);font-size:12px}.hotel-list small{margin-top:4px;color:var(--muted);font-size:10px}.hotel-list>div>strong{color:var(--green);white-space:nowrap}.hotel-list>p{padding:18px;color:var(--muted);font-size:12px}.export-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;max-width:1220px;margin:16px auto 0;padding:21px 23px}.export-panel h2{margin:0;color:var(--green);font-family:Georgia,serif;font-weight:500}.export-panel p{margin:6px 0 0;color:var(--muted);font-size:11px}.export-actions{display:flex;gap:10px;flex:0 0 auto}.export-actions button:disabled{cursor:not-allowed;opacity:.5}.pdf-button{color:#9d252d;border-color:#e2bfc2}.export-error{display:block;margin-top:8px;color:#a0262f;font-size:11px}.scanner-frame{position:relative;overflow:hidden;margin:20px auto;border:1px solid rgba(42,101,229,.3);border-radius:16px;background:#081c4b;box-shadow:0 0 32px rgba(42,101,229,.18)}.scanner-frame .receipt-preview{display:block;margin:0;border:0;border-radius:0}.scanner-grid{inset:0;opacity:.34;background-image:linear-gradient(rgba(117,183,255,.16) 1px,transparent 0),linear-gradient(90deg,rgba(117,183,255,.16) 1px,transparent 0);background-size:28px 28px;box-shadow:inset 0 0 0 2px rgba(117,183,255,.38),inset 0 0 42px rgba(42,101,229,.22)}.scanner-grid,.scanner-line{position:absolute;pointer-events:none}.scanner-line{display:none;left:2%;right:2%;top:0;height:2px;background:#74dcff;box-shadow:0 0 9px 3px rgba(72,203,255,.82),0 0 34px 10px rgba(42,101,229,.36)}.scanner-frame.is-scanning .scanner-line{display:block;animation:scan-document 2.1s ease-in-out infinite}@keyframes scan-document{0%{transform:translateY(5px);opacity:.45}50%{opacity:1}to{transform:translateY(min(58vh,560px));opacity:.45}}.confidence-badge{display:inline-flex;margin-left:10px;padding:4px 8px;color:#174d37;background:#dff5e9;border-radius:999px;font-size:10px;font-weight:800}.confidence-badge.is-low{color:#8a4c0c;background:#fff0cf}.receipt-form label small{margin-left:6px;color:var(--green-2);font-size:9px;font-weight:750}.receipt-form .needs-review small{color:#a45b10}.receipt-form .ai-detected input{border-color:#9cc7ef;background:linear-gradient(90deg,#f1f8ff,white 26%)}.receipt-form .needs-review input{border-color:#e3b267;background:#fffaf0}.date-control select,.receipt-form select,.receipt-form textarea{width:100%;padding:12px;color:var(--ink);background:white;border:1px solid #cbd3e3;border-radius:10px;font:inherit}.receipt-form textarea{resize:vertical}.report-mode{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1220px;margin:14px auto;padding:18px 22px}.report-mode strong{color:var(--green)}.report-mode p{margin:4px 0 0;color:var(--muted);font-size:11px}.mode-toggle{display:flex;gap:6px;padding:4px;background:#edf2fb;border-radius:12px}.mode-toggle button{min-height:38px;padding:0 14px;color:var(--muted);background:transparent;border:0;border-radius:9px;cursor:pointer;font-weight:750}.mode-toggle button.active{color:white;background:var(--green-2);box-shadow:0 5px 14px rgba(42,101,229,.22)}.annual-analysis{max-width:1220px;margin:16px auto}.annual-bars{display:grid;grid-template-columns:repeat(12,minmax(42px,1fr));gap:10px;align-items:end;min-height:230px;padding:22px;overflow-x:auto}.annual-bar{display:grid;grid-template-rows:24px 130px 20px;gap:6px;min-width:42px;text-align:center}.annual-bar>div{display:flex;align-items:flex-end;justify-content:center;height:130px;background:linear-gradient(#f6f9ff,#edf3fd);border-radius:8px}.annual-bar i{width:70%;min-height:2px;background:linear-gradient(180deg,#55b8ff,var(--green-2));border-radius:6px 6px 3px 3px;box-shadow:0 5px 15px rgba(42,101,229,.2)}.annual-bar strong{color:var(--green);font-size:10px;text-transform:capitalize}.bar-value{overflow:hidden;color:var(--muted);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.sidebar-bottom form{margin:0}.logout-link{width:100%;color:#d7e0f6;text-align:left;background:transparent;border:0;cursor:pointer}.logout-link:hover{color:white;background:rgba(255,255,255,.09)}.login-page{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#dfe9ff,#f9f7f2 58%)}.login-card{width:min(100%,430px);padding:42px;background:white;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.session-loading{display:grid;min-height:100vh;place-items:center;color:var(--green);background:var(--cream);font-weight:700}.login-brand{display:inline-flex;margin-bottom:34px;padding:13px 18px;background:var(--green);border-radius:999px}.login-brand img{height:auto}.login-card h1{margin:0;color:var(--green);font-family:Georgia,serif;font-size:38px;font-weight:500}.login-card>p:not(.eyebrow){margin:10px 0 27px;color:var(--muted);line-height:1.55}.login-card form{display:grid;gap:16px}.login-card label{display:grid;gap:7px;color:var(--green);font-size:12px;font-weight:750}.login-card input{min-height:50px;padding:0 14px;border:1px solid #cbd3e3;border-radius:11px;outline:none}.login-card input:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(42,101,229,.12)}.login-card form .primary-button{margin-top:5px}.login-card>small{display:block;margin-top:22px;color:#858c9b;text-align:center}.form-error{padding:11px 13px;color:#932b34;background:#fff0f1;border-radius:9px;font-size:12px}.settings-panel{max-width:1220px;margin:auto;overflow:hidden}.secure-badge{padding:7px 10px;color:#31563a;background:#eaf6ec;border-radius:999px;font-size:10px;font-weight:750;white-space:nowrap}.pending-banner{color:#76520b;background:#fff7dc;border-color:#ecd598}.edit-expense-button{min-height:38px;padding:0 13px;color:var(--green-2);background:#eef4ff;border:1px solid #cbd9f5;border-radius:999px;cursor:pointer;font-weight:750}.edit-expense-button:hover{color:white;background:var(--green-2)}.full-expense-row{grid-template-columns:74px minmax(190px,1.15fr) minmax(220px,1.3fr) auto auto}.edit-modal{max-height:min(92vh,760px);overflow-y:auto}.edit-expense-form select,.edit-expense-form textarea{width:100%;padding:12px;color:var(--ink);background:white;border:1px solid #cbd3e3;border-radius:10px;font:inherit}.edit-expense-form textarea{resize:vertical}.settings-expense-list{display:grid}.settings-expense-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.settings-expense-row:last-child{border-bottom:0}.settings-expense-row img{width:70px;height:68px;object-fit:cover;background:#f1f3f7;border:1px solid var(--line);border-radius:10px}.settings-expense-row>div small,.settings-expense-row>div span,.settings-expense-row>div strong{display:block}.settings-expense-row>div strong{color:var(--green)}.settings-expense-row>div span{margin-top:5px;color:var(--green-2);font-size:12px;font-weight:700}.settings-expense-row>div small{margin-top:5px;color:var(--muted);font-size:11px}.settings-total{color:var(--green);font-family:Georgia,serif;font-size:19px;white-space:nowrap}.danger-button,.delete-expense-button{min-height:42px;padding:0 17px;color:#a12831;background:#fff1f2;border:1px solid #efc7ca;border-radius:999px;font-weight:750;cursor:pointer}.danger-button:hover,.delete-expense-button:hover{color:white;background:#aa2d36;border-color:#aa2d36}.delete-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(9,25,61,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.delete-modal{width:min(100%,470px);padding:33px;background:white;border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.delete-warning-icon{display:grid;width:48px;height:48px;place-items:center;color:#a12831;background:#fff0f1;border-radius:50%;font-size:24px;font-weight:850}.delete-modal h2{margin:17px 0 8px;color:var(--green);font-family:Georgia,serif;font-size:27px;font-weight:500}.delete-modal p{color:var(--muted);font-size:13px;line-height:1.55}.delete-modal p strong{color:var(--ink)}.delete-modal form{display:grid;gap:13px;margin-top:21px}.delete-modal label{display:grid;gap:7px;color:var(--green);font-size:12px;font-weight:750}.delete-modal input{min-height:50px;padding:0 13px;border:1px solid #cbd3e3;border-radius:10px;outline:none}.delete-modal input:focus{border-color:#aa2d36;box-shadow:0 0 0 3px rgba(170,45,54,.12)}.delete-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:7px}.danger-button{min-height:48px}.danger-button:disabled{cursor:wait;opacity:.6}.mileage-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 22px;color:#174f43;background:#e8f6f2;border:1px solid #bfe2d8;border-radius:999px;font-weight:750;cursor:pointer}.mileage-button:focus-visible,.mileage-button:hover{color:white;background:#207466;border-color:#207466;outline:none}.change-expense-type{display:block;margin:-13px 0 24px;padding:0;color:var(--green-2);background:transparent;border:0;font-size:12px;font-weight:750;cursor:pointer}.mileage-symbol{color:#1c7667;background:#e8f6f2}.pdf-preview{position:relative;height:310px;margin:20px 0;overflow:hidden;background:#f5f7fb;border:1px solid var(--line);border-radius:14px}.pdf-preview object{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--green)}.pdf-preview-label{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;gap:5px;max-width:calc(100% - 20px);padding:7px 10px;overflow:hidden;color:#8d2630;background:rgba(255,255,255,.94);border:1px solid #efc7ca;border-radius:999px;box-shadow:0 4px 14px rgba(20,56,138,.12);font-size:10px;font-weight:800;white-space:nowrap;text-overflow:ellipsis}.file-preview{display:grid;gap:6px;margin:20px 0;padding:24px;color:var(--green);background:#f3f6fc;border:1px solid var(--line);border-radius:14px}.file-preview span{color:var(--muted);font-size:11px}.edit-expense-form select:focus,.edit-expense-form textarea:focus,.receipt-form select:focus,.receipt-form textarea:focus{border-color:var(--green-2);outline:none;box-shadow:0 0 0 3px rgba(42,101,229,.12)}.input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;overflow:hidden;background:white;border:1px solid #cbd3e3;border-radius:10px}.input-with-unit:focus-within{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(42,101,229,.12)}.input-with-unit input{border:0!important;border-radius:0!important;box-shadow:none!important}.input-with-unit>span{padding:0 13px;color:var(--green);font-size:12px;font-weight:800}.mileage-total{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 16px;padding:17px;color:#174f43;background:#e8f6f2;border:1px solid #c4e5dc;border-radius:12px}.mileage-total span{font-size:11px;font-weight:750}.mileage-total strong{grid-row:1/span 2;grid-column:2;font-family:Georgia,serif;font-size:25px;font-weight:500}.mileage-total small{color:#54766f;font-size:9px}.mileage-total.compact{margin:4px 0}.mileage-settings-panel{margin-bottom:16px}.settings-default-badge{padding:7px 10px;color:#174f43;background:#e8f6f2;border-radius:999px;font-size:10px;font-weight:750;white-space:nowrap}.mileage-rate-form{display:grid;grid-template-columns:minmax(220px,360px) auto minmax(0,1fr);gap:14px;align-items:end;padding:22px 25px}.mileage-rate-form label{display:grid;gap:7px;color:var(--green);font-size:11px;font-weight:750}.mileage-rate-form label small{color:var(--muted);font-size:9px;font-weight:500}.mileage-rate-form .input-with-unit input{min-height:48px;padding:0 13px;color:var(--ink);background:white;outline:none}.settings-inline-success{align-self:center;color:#27613f;font-size:11px}.expense-attachment-icon{display:grid;place-items:center;width:74px;height:70px;color:var(--green-2);background:#edf2fd;border:1px solid var(--line);border-radius:10px}.expense-attachment-icon.is-mileage{color:#1c7667;background:#e8f6f2;border-color:#c4e5dc}.expense-attachment-icon.is-pdf{color:#a12831;background:#fff1f2;border-color:#efc7ca}.expense-row>.expense-attachment-icon,.expense-row>.receipt-link img{width:76px;height:72px}.settings-expense-row>.expense-attachment-icon,.settings-expense-row>.receipt-link img{width:70px;height:68px}.file-button:focus-within,a:focus-visible,button:focus-visible{outline:3px solid rgba(42,101,229,.3);outline-offset:3px}@media (max-width:960px){.sidebar{display:none}.main{margin-left:0;padding:24px}.mobile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.mobile-brand{display:flex;padding:12px 16px;background:var(--green);border-radius:999px}.mobile-brand img{width:145px;height:auto}.mobile-menu-trigger{width:42px;height:42px;color:var(--green);border:1px solid #cbd5ed;border-radius:50%;background:white}.content-grid{grid-template-columns:1fr}.start-card{order:-1}.metrics{grid-template-columns:repeat(2,1fr)}.bottom-nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 8px max(7px,env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(20,56,138,.09)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#7a8090;font-size:10px}.bottom-nav a span{font-size:19px}.bottom-nav a.active{color:var(--green-2);font-weight:750}.bottom-nav .capture-tab span{display:grid;place-items:center;width:35px;height:35px;margin-top:-19px;color:white;background:var(--green-2);border-radius:50%;border:4px solid white;box-sizing:content-box}.main{padding-bottom:90px}}@media (max-width:620px){body{background:#f9f7f2}.main{padding:max(18px,env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom))}.login-page{display:block;padding:0;background:white}.login-card{width:100%;min-height:100dvh;padding:max(42px,env(safe-area-inset-top)) 24px;border:0;border-radius:0;box-shadow:none}.login-card h1{font-size:34px}.mobile-header{margin-bottom:25px}.mobile-brand{padding:11px 14px}.mobile-brand img{width:132px;height:auto}.mobile-menu-trigger{width:44px;height:44px;flex:0 0 44px}.welcome{display:block}.welcome h1{font-size:37px;line-height:1}.welcome p:not(.eyebrow){max-width:310px;font-size:14px;line-height:1.5}.eyebrow{margin-bottom:10px;font-size:9px;line-height:1.5}.top-action{width:100%;min-height:56px;margin-top:22px;padding:0 24px;font-size:15px}.top-action svg{width:25px;height:25px}.metrics{gap:9px;margin:17px 0 12px}.metrics article{min-height:106px;padding:16px 15px;border-radius:15px}.metrics strong{margin:9px 0 5px;font-size:23px}.metric-label{font-size:10px}.metrics small{display:block;font-size:10px;line-height:1.35}.content-grid{gap:12px}.start-card{padding:22px}.start-card h2{font-size:24px}.start-card li{min-height:42px}.start-card li>span{flex-basis:34px;height:34px}.start-card .primary-button{min-height:55px}.panel-heading{padding:19px}.panel-heading a{display:none}.empty-state{min-height:285px;padding:27px 18px}.empty-state .secondary-button{width:100%;min-height:53px}.bottom-nav{min-height:68px;padding-top:9px}.bottom-nav a{min-height:48px;justify-content:center}.bottom-nav .capture-tab span{width:39px;height:39px;margin-top:-22px}.capture-page{display:block;padding:0;background:white}.capture-card{width:100%;min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 20px calc(30px + env(safe-area-inset-bottom));border:0;border-radius:0;box-shadow:none}.capture-brand{margin-bottom:25px;padding:11px 15px}.capture-brand img{width:145px;height:auto}.back-link{margin-bottom:31px}.capture-symbol{width:70px;height:70px}.capture-card h1{font-size:32px;line-height:1.1}.capture-card>p:not(.eyebrow):not(.phase-note){font-size:14px}.scanner-frame{max-height:430px}.capture-actions{gap:12px;margin:27px 0 20px}.capture-actions .primary-button,.capture-actions .secondary-button{min-height:58px;font-size:15px}.tip{padding:16px;line-height:1.45}.saved-banner{display:grid;margin-bottom:17px}.expense-row{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:14px}.expense-row>img{width:58px;height:62px}.expense-total{grid-column:2;margin-top:-5px;font-size:17px}.participant-entry{grid-template-columns:1fr}.participant-entry button{min-height:42px}.report-mode{display:grid}.mode-toggle{display:grid;grid-template-columns:1fr}.annual-bars{grid-template-columns:repeat(12,50px)}.full-expense-row .edit-expense-button{grid-column:3;grid-row:2}.section-heading{display:grid;margin-bottom:20px}.section-heading .secondary-button{display:none}.heading-actions{display:grid;grid-template-columns:1fr 1fr}.heading-actions .secondary-button{display:inline-flex}.list-toolbar{grid-template-columns:1fr 1fr}.list-toolbar>label{grid-column:1/-1}.list-toolbar>div{min-width:0}.full-expense-row{grid-template-columns:62px minmax(0,1fr) auto;gap:11px;padding:14px}.receipt-link img{width:62px;height:64px}.expense-people{grid-column:2/-1}.expense-amount{grid-column:3;grid-row:1}.report-controls{grid-template-columns:1fr}.period-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.period-tabs button{flex:0 0 auto}.report-metrics{grid-template-columns:1fr 1fr}.report-metrics article{min-height:92px}.report-grid{grid-template-columns:1fr}.export-panel{display:grid}.export-actions{display:grid;grid-template-columns:1fr 1fr}.export-actions button{padding:0 12px}.settings-panel .panel-heading{display:grid;gap:12px}.secure-badge{justify-self:start}.settings-expense-row{grid-template-columns:58px minmax(0,1fr) auto;gap:10px;padding:13px}.settings-expense-row img{width:58px;height:60px}.settings-total{grid-column:2;font-size:17px}.delete-expense-button{grid-column:3;grid-row:1/span 2;padding:0 13px}.delete-modal{padding:25px}.delete-modal-actions{display:grid;grid-template-columns:1fr}.delete-modal-actions button{width:100%}.mileage-rate-form{grid-template-columns:1fr;padding:18px}.mileage-rate-form .primary-button{width:100%}.settings-default-badge{justify-self:start}.settings-expense-row>.expense-attachment-icon,.settings-expense-row>.receipt-link img{width:58px;height:60px}.expense-row>.expense-attachment-icon,.expense-row>.receipt-link img{width:58px;height:62px}.full-expense-row>.expense-attachment-icon{width:62px;height:64px}.mileage-values{grid-template-columns:1fr}.pdf-preview{height:260px}.change-expense-type{margin-top:-8px}.mileage-total strong{font-size:22px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.login-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem 1rem;margin:1rem 0 .35rem}.login-links button{border:0;background:transparent;color:#1746a2;cursor:pointer;font:inherit;font-weight:700;padding:.25rem;text-decoration:underline;text-underline-offset:3px}