*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}:root{--expense-red: #e3272d;--expense-red-dark: #b51218;--expense-ink: #111214;--expense-muted: #62666d;--expense-line: #dfe2e7;--expense-panel: #ffffff;--expense-soft: #f5f6f8;--expense-dark: #202734;--expense-dark-2: #111823;--expense-focus: #0087a8}html,body,#root{min-height:100%;font-family:Source Sans Pro,"Source Sans 3",Aptos,Segoe UI Variable Text,Segoe UI,Arial,sans-serif;color:var(--expense-ink);background:#eef0f3}button,input,select,textarea{font:inherit;color:inherit}.app{min-height:100vh;max-width:560px;margin:0 auto;background:linear-gradient(180deg,var(--expense-dark) 0 132px,#eef0f3 132px 100%)}.screen{padding:18px 14px}.summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.summary>div,.tile,.action-card,.card,.empty-card{background:var(--expense-panel);border:1px solid var(--expense-line);border-radius:12px;box-shadow:0 12px 28px #11121412}.summary>div,.tile{padding:13px}.summary span,.tile span,.action-card span,.field span,.section-title,.section-heading span,.card-kicker{color:var(--expense-muted);font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.summary strong{display:block;margin-top:5px;font-size:20px}.dashboard{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.tile,.action-card,.back-button{text-align:left;cursor:pointer}.tile{position:relative;min-height:72px;padding:12px;border:1px solid rgba(223,226,231,.9);background:#fffffff5;color:var(--expense-ink);overflow:hidden}.tile:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--expense-red)}.tile strong{display:block;margin-top:5px;font-size:18px;line-height:1.1}.tile em{display:block;margin-top:5px;color:var(--expense-muted);font-size:11px;font-style:normal;font-weight:700}.tile--warning{background:#fffaf0}.tile--danger{background:#fff5f6}.tile--approved{background:#f1f8f3}.action-grid{display:grid;gap:10px}.action-card{position:relative;width:100%;min-height:78px;padding:16px 48px 16px 16px;border:1px solid var(--expense-line);background:#fff;color:var(--expense-ink)}.action-card:after{content:"→";position:absolute;right:16px;top:50%;width:28px;height:28px;display:grid;place-items:center;transform:translateY(-50%);border-radius:999px;background:var(--expense-ink);color:#fff;font-weight:900}.action-card strong{display:block;margin-top:6px;font-size:19px}.back-button{min-height:40px;padding:0 14px;border:1px solid var(--expense-ink);border-radius:8px;background:#fff;color:var(--expense-ink);font-weight:800;margin-bottom:10px}.back-button--inline{margin:0;min-height:36px}.card{margin-bottom:12px;padding:15px}.card--accent{border-top:4px solid var(--expense-red);border-left:1px solid var(--expense-line)}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.card-title{font-size:20px;font-weight:800;letter-spacing:0}.card-kicker{display:block;margin-bottom:3px}.section-heading{margin:18px 0 10px}.section-heading--row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{margin-top:3px;font-size:21px;line-height:1.2}.text-button,.inline-action{border:none;background:transparent;color:var(--expense-red);font-weight:800;cursor:pointer}.text-button{min-height:36px;padding:0 2px}.inline-action{margin-top:9px;padding:0;font-size:13px;text-align:left}.grid{display:grid;gap:10px;min-width:0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.field{display:block;margin-bottom:12px;min-width:0}.field span{display:block;margin-bottom:5px}.input,.textarea{width:100%;min-width:0;max-width:100%;border:1px solid #cfd4dc;background:#fff;border-radius:8px;min-height:48px;padding:10px 11px;color:var(--expense-ink);box-shadow:inset 0 1px #11121408}.input:focus,.textarea:focus{outline:2px solid rgba(0,135,168,.22);border-color:var(--expense-focus)}input[type=date].input{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-left:8px;padding-right:6px;font-size:13px}input[inputmode=numeric].input{font-size:15px;font-weight:700}.job-helper{margin-top:7px;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:700;line-height:1.35}.job-helper--checking,.job-helper--idle{background:#f3f5f7;color:var(--expense-muted)}.job-helper--valid{background:#e8f5e9;color:#2e7d32}.job-helper--invalid{background:#fce8e9;color:#6f0f12}.textarea{min-height:88px;resize:vertical}.file{padding-top:12px}.field-note,.file-summary{margin:-1px 0 8px;color:var(--expense-muted);font-size:12px;line-height:1.35}.file-summary{margin:7px 0 0;font-weight:700}.button{width:100%;min-height:52px;border:none;border-radius:8px;background:var(--expense-red);color:#fff;font-weight:800;cursor:pointer;padding:0 16px;box-shadow:0 10px 20px #e3272d38}.button:disabled{background:#e1e6ee;color:#68717d;cursor:not-allowed}.stagegate,.track-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.gate{min-height:44px;border:1px solid #cfd4dc;border-radius:8px;background:#fff;color:var(--expense-ink);font-weight:800;cursor:pointer}.gate--active{border-color:var(--expense-red);background:var(--expense-red);color:#fff}.declaration{border:1px solid var(--expense-line);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--expense-soft)}.check{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;color:var(--expense-ink);font-size:13px;line-height:1.35}.check input{width:18px;height:18px;margin-top:1px;accent-color:#e3272d}.banner{background:#fce8e9;border-left:3px solid var(--expense-red);color:#6f0f12;border-radius:6px;padding:11px 13px;font-size:13px;line-height:1.45;margin-bottom:12px}.warning{background:#fff7e6;border-left:3px solid #e65100;color:#7a3b00;border-radius:6px;padding:11px 13px;font-size:13px;line-height:1.45;margin:-2px 0 12px}.signature{position:relative;background:#fff;border:1px dashed #9b9b9b;border-radius:8px;overflow:hidden}.signature canvas{display:block;width:100%;height:150px;touch-action:none}.signature__clear{position:absolute;right:10px;bottom:8px;background:#ffffffdb}.section-title{margin:16px 0 8px}.list{display:grid;gap:8px}.expense-row{display:flex;justify-content:space-between;gap:12px;padding:12px;background:#fff;border:1px solid var(--expense-line);border-radius:12px}.expense-row__title{font-weight:800}.expense-row__main{min-width:0}.expense-row__meta{margin-top:4px;color:var(--expense-muted);font-size:12px}.expense-row__right{display:grid;justify-items:end;gap:6px;white-space:nowrap}.status{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800;background:#fff3e0;color:#e65100}.status--Approved,.status--Paid{background:#e8f5e9;color:#2e7d32}.status--Rejected{background:#fce8e9;color:#e3272d}.status--InformationRequired{background:#fff3e0;color:#e65100}.empty-card,.loading,.error{min-height:160px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;gap:9px;color:var(--expense-muted)}.loading,.error{min-height:60vh}.spinner{width:32px;height:32px;border:3px solid #e9e9e9;border-top-color:#e3272d;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}html,body,#root{font-size:16px;background:#dfe6ef}.app{max-width:480px;background:radial-gradient(circle at 92% 34px,rgba(227,39,45,.32) 0 36px,transparent 37px),radial-gradient(circle at 12% 88px,rgba(255,255,255,.08) 0 42px,transparent 43px),linear-gradient(180deg,#111824 0,#111824 220px,#edf1f6 220px,#edf1f6)}.screen{padding:22px 18px 20px}.dashboard{gap:12px;margin-bottom:18px}.tile{min-height:104px;padding:17px;border:0;border-radius:24px;background:#fffffffa;box-shadow:0 18px 44px #1118241f}.tile:before{width:0}.tile span,.action-card span,.field span,.section-heading span,.card-kicker{font-size:12px;font-weight:900;letter-spacing:.75px}.tile strong{margin-top:8px;font-size:24px;font-weight:900;letter-spacing:-.02em}.tile em{font-size:12px}.action-grid{gap:14px}.action-card{min-height:96px;padding:20px 62px 20px 20px;border:0;border-radius:26px;box-shadow:0 18px 44px #1118241f}.action-card:after{width:42px;height:42px;right:18px;font-size:24px}.action-card strong{margin-top:8px;font-size:22px;font-weight:900;letter-spacing:-.02em}.section-heading{margin:20px 0 12px}.section-heading h2{font-size:25px;font-weight:900;letter-spacing:-.02em}.card,.empty-card{padding:20px;border:0;border-radius:26px;box-shadow:0 18px 44px #1118241f}.card--accent{border-top:0}.card-heading{margin-bottom:18px}.card-title{font-size:24px;font-weight:900;letter-spacing:-.02em}.grid,.stagegate,.track-tabs{gap:12px}.field{margin-bottom:16px}.input,.textarea{min-height:58px;border:0;border-radius:18px;background:#f4f7fb;padding:15px 16px;font-size:16px;box-shadow:inset 0 0 0 1px #1118240f}input[type=date].input,input[inputmode=numeric].input{font-size:16px}.textarea{min-height:118px}.button,.gate,.back-button{min-height:58px;border-radius:18px;font-size:16px;font-weight:900}.button{box-shadow:0 16px 30px #e3272d47}.gate{border:0;background:#f4f7fb;box-shadow:inset 0 0 0 1px #1118240f}.gate--active{box-shadow:0 14px 28px #e3272d38}.back-button{display:inline-flex;align-items:center;width:auto;min-height:46px;border-radius:999px;padding:0 18px}.declaration,.signature,.expense-row{border:0;border-radius:22px;box-shadow:inset 0 0 0 1px #1118240f}.signature canvas{height:180px}.expense-row{padding:16px}.expense-row__title{font-size:17px;font-weight:900}.status{min-height:26px;padding:5px 10px;font-size:11px;font-weight:900}.banner,.warning,.job-helper{border-radius:16px;padding:13px 14px;font-size:14px}.app{max-width:460px;background:radial-gradient(circle at 92% 28px,rgba(227,39,45,.24) 0 32px,transparent 33px),linear-gradient(180deg,#111824 0,#111824 156px,#edf1f6 156px,#edf1f6)}.screen{padding:16px 18px 20px}.dashboard{gap:10px;margin-bottom:16px}.tile{min-height:86px;padding:14px 16px;border-radius:20px;box-shadow:0 10px 24px #11182417;background:linear-gradient(135deg,rgba(227,39,45,.08),transparent 58%),#fff}.tile:after{content:"";position:absolute;right:12px;bottom:12px;width:30px;height:30px;border-radius:12px;background:#e3272d1f}.tile:nth-child(1):after{background:linear-gradient(135deg,#e3272d 0,#e3272d 50%,#99171b 50%,#99171b)}.tile:nth-child(2):after{background:#e8f5e9}.tile:nth-child(3):after{background:#fff3e0}.tile:nth-child(4):after{background:#fce8e9}.tile:nth-child(5):after{background:#f3f5f7}.tile:nth-child(6):after{background:#e8f5e9}.tile strong{font-size:21px}.tile span,.action-card span,.field span,.section-heading span,.card-kicker{font-size:11px}.action-card{min-height:76px;padding:15px 56px 15px 16px;border-radius:20px;box-shadow:0 10px 24px #11182417}.action-card:after{width:34px;height:34px;right:16px;line-height:1}.action-card strong{font-size:18px}.card,.empty-card{padding:18px;border-radius:22px;box-shadow:0 10px 24px #11182417}.card-title,.section-heading h2{font-size:21px}.input,.textarea{min-height:52px;border-radius:15px;padding:13px 14px}.button,.gate{min-height:52px;border-radius:15px;font-size:15px}.button{box-shadow:0 8px 18px #e3272d2e}.stagegate .gate{color:#30343a}.gate--active{box-shadow:0 8px 18px #e3272d24}.back-button{min-height:42px;border-radius:999px;font-size:14px}.loading,.error{background:radial-gradient(circle at 50% 42%,rgba(227,39,45,.08),transparent 160px),#edf1f6}.spinner{position:relative;width:42px;height:42px;border-width:4px;box-shadow:0 0 0 8px #e3272d14}.spinner:after{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;border-radius:50%;background:var(--expense-red);animation:pulse-dot 1.1s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:scale(.72);opacity:.55}50%{transform:scale(1);opacity:1}}html,body,#root,button,input,select,textarea{font-family:Source Sans Pro,"Source Sans 3",Aptos,Segoe UI Variable Text,Segoe UI,Arial,sans-serif;font-weight:400}.tile strong,.action-card strong,.card-title,.section-heading h2,.expense-row__title{font-weight:650;letter-spacing:0}.tile span,.tile em,.action-card span,.field span,.section-heading span,.card-kicker,.button,.gate,.back-button,.status,.text-button,.inline-action,.job-helper,.file-summary,input[inputmode=numeric].input{font-weight:600}.check,.field-note,.banner,.warning,.expense-row__meta{font-weight:400}.pipeline-loader{position:relative;width:148px;height:82px;display:grid;place-items:center}.pipeline-loader__belt{position:absolute;left:8px;right:8px;top:42px;height:18px;border-radius:999px;background:#111824;box-shadow:0 12px 24px #11182429}.pipeline-loader__belt:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:999px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0 10px,transparent 10px 18px),#ffffff14;animation:belt-roll .85s linear infinite}.pipeline-loader__card{position:absolute;top:-26px;left:-36px;width:34px;height:42px;border-radius:8px;background:#fff;box-shadow:0 12px 20px #11182429;animation:paperwork-ride 1.9s ease-in-out infinite}.pipeline-loader__card:before{content:"";position:absolute;left:7px;right:7px;top:9px;height:5px;border-radius:999px;background:var(--expense-red)}.pipeline-loader__card:after{content:"";position:absolute;left:7px;right:10px;top:20px;height:12px;border-top:2px solid #dfe4eb;border-bottom:2px solid #dfe4eb}.pipeline-loader__card--two{animation-delay:.92s}.pipeline-loader__dot{position:absolute;left:10px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--expense-red);animation:red-stamp-hop 1.15s ease-in-out infinite;box-shadow:0 8px 18px #e3272d47}.pipeline-loader__tick{position:absolute;right:2px;top:9px;width:38px;height:38px;border-radius:50%;background:#e8f5e9;box-shadow:inset 0 0 0 1px #2e7d3229,0 10px 20px #1118241f;animation:tick-pop 1.9s ease-in-out infinite}.pipeline-loader__tick:after{content:"";position:absolute;left:12px;top:9px;width:10px;height:16px;border-right:4px solid #2e7d32;border-bottom:4px solid #2e7d32;transform:rotate(45deg)}.loading-quip{margin-top:-5px;color:var(--expense-muted);font-size:12px;line-height:1.35}@keyframes paperwork-ride{0%{transform:translate(0) rotate(-6deg);opacity:0}14%{opacity:1}62%{transform:translate(92px) rotate(3deg);opacity:1}to{transform:translate(154px) rotate(7deg);opacity:0}}@keyframes belt-roll{to{background-position:18px 0}}@keyframes red-stamp-hop{0%,to{transform:translate(0) scale(.9)}45%{transform:translate(63px,-18px) scale(1.05)}70%{transform:translate(102px) scale(.95)}}@keyframes tick-pop{0%,52%,to{transform:scale(.92);opacity:.72}68%{transform:scale(1.06);opacity:1}}@media (prefers-reduced-motion: reduce){.pipeline-loader__belt:before,.pipeline-loader__card,.pipeline-loader__dot,.pipeline-loader__tick{animation:none}}.screen{padding-top:22px}.dashboard{gap:12px}.tile{min-height:78px;border:1px solid rgba(255,255,255,.78);background:radial-gradient(circle at 88% 34%,rgba(227,39,45,.14),transparent 38px),linear-gradient(145deg,#fff,#f7f9fc)}.tile:first-child{grid-column:1 / -1;min-height:116px;padding:18px;color:#fff;background:radial-gradient(circle at 88% 32%,rgba(255,255,255,.16),transparent 54px),radial-gradient(circle at 18% 92%,rgba(227,39,45,.34),transparent 70px),linear-gradient(135deg,#111824,#2a1620 58%,#6f0f12);box-shadow:0 18px 42px #1118242e}.tile:first-child span,.tile:first-child em,.tile:first-child strong{color:#fff}.tile:first-child strong{font-size:28px}.tile:first-child:after{width:42px;height:42px;background:linear-gradient(135deg,#fffffff2,#ffffff80),#fff;opacity:.92}.tile:not(:first-child):after{right:14px;bottom:14px;width:26px;height:26px;border-radius:10px}.action-card{display:grid;grid-template-columns:1fr 38px;align-items:center;min-height:82px;padding:16px 16px 16px 18px}.action-card span,.action-card strong{grid-column:1}.action-card:after{position:static;grid-column:2;grid-row:1 / 3;justify-self:center;transform:none;width:38px;height:38px}.section-heading--row{margin-top:4px;margin-bottom:14px}.section-heading--row span{color:#ffc2c5}.section-heading--row h2{color:#fff;font-size:19px}.gate:not(.gate--active){color:#30343a}.loading{position:relative;overflow:hidden}.loading:before{content:"";position:absolute;inset:10% 8% auto;height:54%;border-radius:44px;background:radial-gradient(circle at 18% 22%,rgba(227,39,45,.14) 0 18px,transparent 19px),radial-gradient(circle at 82% 70%,rgba(17,24,36,.08) 0 34px,transparent 35px),linear-gradient(135deg,#ffffffe6,#ffffff6b);box-shadow:0 20px 60px #11182414;pointer-events:none}.loading:after{content:"";position:absolute;width:72px;height:92px;right:12%;bottom:18%;border-radius:20px;background:linear-gradient(#e3272d 0 7px,transparent 7px),linear-gradient(#dfe4eb 0 2px,transparent 2px) 14px 30px / 42px 9px repeat-y,#fff;box-shadow:0 18px 38px #1118241f;animation:float-form 2.4s ease-in-out infinite;pointer-events:none}.loading>*{position:relative;z-index:1}@keyframes float-form{0%,to{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-12px) rotate(3deg)}}.loading:before,.loading:after{content:none}.loading{gap:10px;background:radial-gradient(circle at 50% 36%,rgba(227,39,45,.1),transparent 170px),linear-gradient(180deg,#f8fafc,#edf1f6)}.pipeline-loader{width:128px;height:96px}.pipeline-loader__belt{left:32px;right:32px;top:34px;height:54px;border-radius:14px;background:#fff;box-shadow:0 16px 34px #11182424}.pipeline-loader__belt:before{inset:9px 11px auto;height:7px;border-radius:999px;background:var(--expense-red);animation:clipboard-nod 1.4s ease-in-out infinite}.pipeline-loader__card{top:9px;left:45px;width:38px;height:48px;transform-origin:50% 100%;animation:paperwork-wiggle 1.4s ease-in-out infinite}.pipeline-loader__card--two{opacity:.52;transform:translate(10px,7px) rotate(8deg);animation-delay:.18s}.pipeline-loader__dot{left:76px;top:28px;animation:red-stamp-bonk 1.4s ease-in-out infinite}.pipeline-loader__tick{right:18px;top:5px;width:34px;height:34px;animation:tick-pop 1.4s ease-in-out infinite}@keyframes paperwork-wiggle{0%,to{transform:rotate(-5deg) translateY(0)}42%{transform:rotate(5deg) translateY(-8px)}58%{transform:rotate(-2deg) translateY(1px)}}@keyframes clipboard-nod{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes red-stamp-bonk{0%,to{transform:translateY(0) scale(.88)}45%{transform:translateY(-20px) scale(1.05)}62%{transform:translateY(4px) scale(.94)}}
