:root{--color-page:#dfe7e3;--color-app:#f7faf8;--color-surface:#fff;--color-soft:#edf3ef;--color-line:#d9e2dd;--color-text:#1f2623;--color-muted:#69766f;--color-accent:#176b5b;--color-accent-strong:#0f5144;--color-amount:#9d4d18;--color-error:#b42318;--shadow-bar:0 -8px 24px #1f262314;--safe-x:16px;--tab-bar-space:calc(72px + env(safe-area-inset-bottom))}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--color-page);color:var(--color-text);letter-spacing:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.mobileApp{background:var(--color-app);width:min(100%,430px);min-height:100dvh;margin:0 auto;position:relative}.adminApp{background:#eef2ef;min-height:100dvh}.adminApp .mobileViewport{min-height:100dvh;padding-bottom:0}.mobileViewport{min-height:calc(100dvh - var(--tab-bar-space));padding-bottom:var(--tab-bar-space)}.mobileAppStack .mobileViewport{padding-bottom:0}.screen{min-height:calc(100dvh - var(--tab-bar-space));background:var(--color-app)}.mobileAppStack .screen{min-height:100dvh}.topBar{z-index:10;border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7faf8f0;grid-template-columns:72px minmax(0,1fr) 72px;align-items:center;min-height:56px;padding:0 8px;display:grid;position:sticky;top:0}.topBar h1{text-align:center;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;margin:0;font-size:17px;font-weight:760;overflow:hidden}.topBarSide{align-items:center;min-width:0;display:flex}.topBarAction{justify-content:flex-end}.topBarIconLink{width:44px;height:44px;color:var(--color-text);border-radius:8px;place-items:center;display:inline-grid}.topBarTextButton{min-width:56px;min-height:40px;color:var(--color-accent);cursor:pointer;background:0 0;border:0;font-weight:760}.topBarTextButton:disabled{color:var(--color-muted);cursor:not-allowed}.bottomTabBar{z-index:20;border-top:1px solid var(--color-line);width:min(100%,430px);min-height:72px;box-shadow:var(--shadow-bar);padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#fffffff5;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:50%;right:0;transform:translate(-50%)}.bottomTab{min-width:0;min-height:52px;color:var(--color-muted);border-radius:8px;place-items:center;gap:3px;font-size:12px;font-weight:720;display:grid}.bottomTab svg{display:block}.bottomTabActive{background:var(--color-soft);color:var(--color-accent)}.recordScreen{height:calc(100dvh - var(--tab-bar-space));flex-direction:column;display:flex;overflow:hidden}.chatTimeline{padding:14px var(--safe-x) 12px;flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.chatMessage{overflow-wrap:anywhere;border-radius:8px;width:fit-content;max-width:min(86%,340px);padding:10px 12px;font-size:15px;line-height:1.45}.chatMessage p{margin:0}.chatMessageuser{background:var(--color-accent);color:#fff;align-self:flex-end}.chatMessageassistant{border:1px solid var(--color-line);background:var(--color-surface);align-self:flex-start}.chatStatusfailed{color:var(--color-error);background:#fff6f4;border:1px solid #b423183d;align-self:flex-start}.chatStatusinvalid{color:var(--color-amount);background:#fffaf4;border:1px solid #9d4d183d;align-self:flex-start}.typingDots{vertical-align:middle;grid-auto-flow:column;gap:3px;margin-left:6px;display:inline-grid}.typingDots span{opacity:.38;background:currentColor;border-radius:999px;width:5px;height:5px;animation:1s ease-in-out infinite typingDotPulse}.typingDots span:nth-child(2){animation-delay:.16s}.typingDots span:nth-child(3){animation-delay:.32s}@keyframes typingDotPulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:.9;transform:translateY(-3px)}}.chatRetryButton{min-height:34px;color:var(--color-error);cursor:pointer;background:#fff;border:1px solid #b4231847;border-radius:8px;margin-top:10px;padding:0 12px;font-weight:760}.resultBubble{gap:10px;min-width:236px;margin-top:10px;display:grid}.resultBubbleSummary{border-bottom:1px solid var(--color-line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.resultBubbleSummary span{color:var(--color-muted);font-size:13px;font-weight:720}.resultBubbleSummary strong{color:var(--color-amount);white-space:nowrap;font-size:17px}.resultBubble ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.resultBubble li{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.resultBubble li strong,.expenseListMain strong{overflow-wrap:anywhere;display:block}.resultBubble li span,.expenseListMain span{color:var(--color-muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px;line-height:1.35;display:block}.resultBubble li b{color:var(--color-amount);white-space:nowrap;font-size:14px}.chatComposer{border-top:1px solid var(--color-line);padding:10px var(--safe-x);background:#f7faf8f5;grid-template-columns:minmax(0,1fr) 44px;gap:8px;display:grid}.chatComposer textarea{resize:none;border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-height:44px;max-height:112px;color:var(--color-text);border-radius:8px;outline:none;padding:10px 12px;font-size:16px;line-height:1.35;display:block}.chatComposer textarea:focus,.adminLoginPanel input:focus,.adminToolbar select:focus,.editorForm input:focus,.editorForm textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #176b5b1f}.chatComposer button{background:var(--color-accent);color:#fff;cursor:pointer;border:0;border-radius:8px;place-items:center;width:44px;height:44px;display:inline-grid}.chatComposer button:disabled{cursor:not-allowed;background:#a8b8b1}.adminLoginScreen{background:#eef2ef;place-items:center;min-height:100dvh;padding:24px;display:grid}.adminLoginPanel{border:1px solid var(--color-line);background:var(--color-surface);border-radius:8px;gap:16px;width:min(100%,380px);padding:28px;display:grid;box-shadow:0 18px 48px #1f26231a}.adminLoginPanel span,.adminHeader span,.adminDetailHeader span{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:720}.adminLoginPanel h1,.adminHeader h1,.adminDetailHeader h2{margin:4px 0 0;font-size:24px;line-height:1.2}.adminLoginPanel input,.adminToolbar select{border:1px solid var(--color-line);background:var(--color-surface);min-width:0;height:40px;color:var(--color-text);border-radius:8px;outline:none;padding:0 10px;font-size:13px}.adminLoginPanel button{background:var(--color-accent);color:#fff;cursor:pointer;border:0;border-radius:8px;height:42px;font-weight:760}.adminLoginPanel button:disabled,.adminIconButton:disabled{cursor:not-allowed;background:#a8b8b1}.adminLoginError{margin:0}.adminScreen{background:#eef2ef;grid-template-rows:auto auto auto minmax(0,1fr);min-height:100dvh;display:grid}.adminHeader{border-bottom:1px solid var(--color-line);background:var(--color-surface);justify-content:space-between;align-items:center;gap:24px;padding:18px 32px;display:flex}.adminHeaderActions{align-items:center;gap:8px;display:flex}.adminIconButton{background:var(--color-accent);color:#fff;cursor:pointer;border:0;border-radius:8px;place-items:center;width:40px;height:40px;display:inline-grid}.adminGhostButton{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text)}.adminToolbar{border-bottom:1px solid var(--color-line);background:#f8faf8;gap:10px;padding:12px 32px;display:flex}.adminToolbar select{width:160px}.adminMetrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px 32px;display:grid}.adminMetrics div{border:1px solid var(--color-line);background:var(--color-surface);border-radius:8px;gap:6px;padding:14px 16px;display:grid}.adminMetrics span{color:var(--color-muted);font-size:12px}.adminMetrics strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:22px;overflow:hidden}.adminError{color:var(--color-error);background:#fff6f4;border:1px solid #b4231838;border-radius:8px;margin:0 32px 12px;padding:10px 12px;font-size:13px}.adminLoginPanel .adminError,.adminLogDetail .adminError{margin:0}.adminWorkspace{grid-template-columns:minmax(520px,1fr) minmax(420px,38vw);gap:16px;min-height:0;padding:0 32px 24px;display:grid}.adminLogTableWrap,.adminLogDetail{border:1px solid var(--color-line);background:var(--color-surface);border-radius:8px;min-height:0;overflow:auto}.adminLogTable{border-collapse:collapse;width:100%;font-size:13px}.adminLogTable th,.adminLogTable td{border-bottom:1px solid var(--color-line);text-align:left;vertical-align:top;padding:11px 12px}.adminLogTable th{z-index:1;color:var(--color-muted);background:#f8faf8;font-size:12px;font-weight:760;position:sticky;top:0}.adminLogTable tr{cursor:pointer}.adminLogTable tbody tr:hover,.adminSelectedRow{background:var(--color-soft)}.adminLogTable strong,.adminLogTable span{overflow-wrap:anywhere;display:block}.adminLogTable span{color:var(--color-muted);margin-top:3px;font-size:12px}.adminStatus{white-space:nowrap;border-radius:8px;align-items:center;min-height:24px;padding:0 8px;font-size:12px;font-weight:760;display:inline-flex}.adminStatussuccess{color:#176b45;background:#e8f5ee}.adminStatusinvalid_output,.adminStatusfailed{color:var(--color-error);background:#fff1ed}.adminEmpty{color:var(--color-muted);text-align:center;margin:0;padding:18px;font-size:13px}.adminLogDetail{flex-direction:column;gap:14px;padding:18px;display:flex}.adminDetailHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.adminDetailMeta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;display:grid}.adminDetailMeta div{min-width:0}.adminDetailMeta dt{color:var(--color-muted);font-size:12px}.adminDetailMeta dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:13px}.adminPayload{gap:8px;min-height:0;display:grid}.adminPayload h3{margin:0;font-size:14px}.adminPayload pre{border:1px solid var(--color-line);max-height:320px;color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;background:#f8faf8;border-radius:8px;padding:12px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.55;overflow:auto}@media (max-width:980px){.adminWorkspace{grid-template-columns:1fr}}.listScreenBody{padding:10px 0 18px}.listState,.inlineError{margin:16px var(--safe-x);text-align:center;border-radius:8px;padding:12px;font-size:14px}.listState{background:var(--color-soft);color:var(--color-muted)}.inlineError{color:var(--color-error);background:#fff6f4;border:1px solid #b4231838}.expenseListPlain{margin:0;padding:0;list-style:none}.expenseDateSections{gap:14px;display:grid}.expenseDateSection{background:var(--color-surface)}.expenseDateHeader{z-index:5;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:10px var(--safe-x);background:#f7faf8f5;justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:sticky;top:56px}.expenseDateHeader h2{letter-spacing:0;margin:0;font-size:15px;font-weight:760;line-height:1.25}.expenseDateHeader time,.expenseDateHeader span{color:var(--color-muted);font-size:11px;line-height:1.3;display:block}.expenseDateHeader>div:last-child{text-align:right;justify-items:end;gap:2px;display:grid}.expenseDateHeader strong{color:var(--color-amount);white-space:nowrap;font-size:14px}.expenseListItem{border-bottom:1px solid var(--color-line);background:var(--color-surface);min-height:68px;padding:11px var(--safe-x);grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:10px;display:grid}.expenseListMain{min-width:0}.expenseListSide{text-align:right;justify-items:end;gap:4px;display:grid}.expenseListSide b{color:var(--color-amount);white-space:nowrap;font-size:15px}.expenseListSide time{color:var(--color-muted);white-space:nowrap;font-size:11px}.expenseListChevron{color:#9aa7a0}.stackScreen{min-height:100dvh}.editorBody{padding:14px var(--safe-x) 24px}.editorForm{gap:12px;display:grid}.editorForm label{color:var(--color-muted);gap:6px;font-size:13px;font-weight:720;display:grid}.editorForm input,.editorForm textarea{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-width:0;color:var(--color-text);border-radius:8px;outline:none;padding:11px 12px;font-size:16px}.editorForm textarea{resize:vertical;line-height:1.45}.editorTwoColumn{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.deleteExpenseButton{width:100%;min-height:48px;color:var(--color-error);cursor:pointer;background:#fff6f4;border:1px solid #b4231847;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:22px;font-weight:760;display:inline-flex}.deleteExpenseButton:disabled{cursor:not-allowed;opacity:.65}@media (min-width:760px){.mobileApp{box-shadow:0 18px 70px #1f262329}}
