.layout{display:flex;flex-direction:column;background-color:var(--app-surface)}.layout-main{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;overscroll-behavior-y:contain;touch-action:pan-y}.navigation{display:flex;border-top:1px solid var(--app-border);background-color:var(--app-surface);padding:8px 0;gap:8px;justify-content:space-around}.nav-button{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;color:var(--tg-color-hint);font-size:12px;font-weight:500;opacity:.6;transition:opacity .2s}.nav-button:hover{opacity:1}.nav-button.active{color:var(--tg-color-accent);opacity:1}.nav-icon{font-size:20px}.page{padding:16px 16px 80px}.page-header{margin-bottom:16px}.page-header--with-action{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.page-header-actions{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.language-selector select{height:34px;border:1px solid var(--tg-color-section-bg);border-radius:8px;background:var(--app-surface);color:var(--app-text);font-size:12px;font-weight:600;padding:0 8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-header-copy{min-width:0}.page-title{font-size:18px;font-weight:700;margin-bottom:4px}.page-subtitle{color:var(--tg-color-subtitle-text);font-size:13px}.refresh-button{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background-color:var(--tg-color-section-bg);color:var(--tg-color-accent);font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s}.refresh-button:active{transform:scale(.94)}.refresh-button:disabled{opacity:.45;cursor:not-allowed}.refresh-button--spinning,.pull-refresh-icon--spinning{animation:spin .7s linear infinite}.pull-refresh{position:absolute;top:8px;left:50%;z-index:2;display:flex;align-items:center;gap:6px;min-height:34px;padding:8px 12px;border-radius:18px;background-color:var(--app-surface);color:var(--tg-color-subtitle-text);border:1px solid var(--tg-color-section-bg);box-shadow:0 4px 16px var(--app-shadow);font-size:12px;font-weight:600;opacity:0;pointer-events:none;translate:-50% 0;transition:opacity .15s}.pull-refresh--visible{opacity:1}.pull-refresh-icon{color:var(--tg-color-accent);font-size:16px;line-height:1}.filter-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--app-border)}.filter-tab{flex:1;padding:12px 8px;font-size:13px;font-weight:600;color:var(--tg-color-hint);border-bottom:3px solid transparent;text-align:center}.filter-tab.active{color:var(--tg-color-accent);border-bottom-color:var(--tg-color-accent)}.transaction-list{display:flex;flex-direction:column;gap:12px}.transaction-item{text-align:left;padding:12px;border:1px solid var(--app-border);border-radius:8px;background-color:transparent;transition:background-color .2s}.transaction-item:active{background-color:var(--app-surface-muted)}.tx-bank{font-weight:600;color:var(--app-text);margin-bottom:2px}.tx-date{font-size:12px}.tx-amount{font-weight:700;color:var(--app-text);text-align:right}.edit-screen{max-width:500px;margin:0 auto}.receipt-image{width:100%;border-radius:8px;margin-bottom:16px;background-color:var(--tg-color-section-bg)}.form-group{margin-bottom:16px}.form-label{display:block;font-weight:600;margin-bottom:6px;color:var(--app-text)}.form-input{width:100%;padding:10px 12px;border:1px solid var(--app-border);border-radius:6px;font-size:14px;font-family:inherit;background-color:var(--app-surface);color:var(--app-text)}.form-input:focus{outline:none;border-color:var(--tg-color-accent);box-shadow:0 0 0 2px var(--app-focus-ring)}.form-hint{font-size:12px;color:var(--tg-color-hint);margin-top:4px}.button-group{display:flex;gap:8px;margin-top:24px}.button-primary{flex:1;padding:12px;border-radius:6px;background-color:var(--tg-color-accent);color:var(--app-on-accent);font-weight:600;font-size:14px;transition:opacity .2s}.button-primary:active{opacity:.8}.button-primary:disabled{opacity:.5;cursor:not-allowed}.button-secondary{flex:1;padding:12px;border-radius:6px;background-color:var(--tg-color-section-bg);color:var(--tg-unsafe-text);font-weight:600;font-size:14px;transition:opacity .2s}.button-secondary:active{opacity:.8}.button-danger{background-color:var(--app-danger-surface);color:var(--app-danger-text)}.button-danger:disabled{opacity:.5;cursor:not-allowed}.success-message{background-color:var(--app-success-surface);color:var(--app-success-text);padding:12px;border-radius:6px;margin-bottom:16px;font-size:13px}.edited-flag{background-color:var(--app-warning-surface);color:var(--app-warning-text);padding:8px 12px;border-radius:6px;font-size:12px;margin-bottom:12px}.edited-flag--duplicate{background-color:var(--app-danger-surface);color:var(--app-danger-text)}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 16px;gap:4px}.period-tabs{display:flex;gap:6px;margin-bottom:16px;overflow-x:auto}.period-tab{flex:0 0 auto;padding:8px 14px;border-radius:16px;font-size:13px;font-weight:600;background-color:var(--tg-color-section-bg);color:var(--tg-color-subtitle-text);white-space:nowrap}.period-tab.active{background-color:var(--tg-color-accent);color:var(--app-on-accent)}.custom-range{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.custom-range .form-group{flex:1;min-width:130px;margin-bottom:0}.summary-totals{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-card{background-color:var(--tg-color-section-bg);border-radius:10px;padding:14px}.stat-card .stat-label{font-size:12px;color:var(--tg-color-subtitle-text);margin-bottom:4px}.stat-card .stat-value{font-size:20px;font-weight:700}.attention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.attention-card{border-radius:10px;padding:12px 8px;text-align:center;border:1px solid transparent}.attention-card .attention-count{font-size:22px;font-weight:700}.attention-card .attention-label{font-size:11px;margin-top:2px}.attention-card--review{background-color:var(--app-warning-surface);color:var(--app-warning-text)}.attention-card--dup{background-color:var(--app-danger-surface);color:var(--app-danger-text)}.attention-card--edit{background-color:var(--app-info-surface);color:var(--app-info-text)}.section-title{font-size:14px;font-weight:700;margin:20px 0 10px}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--tg-color-section-bg);gap:8px}.breakdown-row:last-child{border-bottom:none}.breakdown-label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breakdown-meta{text-align:right;flex-shrink:0}.breakdown-amount{font-weight:700}.breakdown-count{font-size:12px;color:var(--tg-color-subtitle-text)}.filters-bar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.filters-bar select,.filters-bar input{flex:1;min-width:120px;padding:8px 10px;border:1px solid var(--tg-color-section-bg);border-radius:6px;font-size:13px;font-family:inherit;background-color:var(--app-surface);color:var(--app-text)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.export-button{padding:8px 14px;border-radius:6px;background-color:var(--tg-color-section-bg);color:var(--app-text);font-weight:600;font-size:13px;white-space:nowrap}.export-button:disabled{opacity:.5}.tx-waiter{font-size:12px;color:var(--tg-color-subtitle-text);margin-top:2px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:16px}.pagination button:disabled{opacity:.4}.pagination .page-indicator{font-size:13px;color:var(--tg-color-subtitle-text)}.list-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px;border:1px solid var(--tg-color-section-bg);border-radius:8px;margin-bottom:10px}.list-row .list-main{min-width:0}.list-row .list-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .list-sub{font-size:12px;color:var(--tg-color-subtitle-text);margin-top:2px}.list-actions{display:flex;gap:6px;flex-shrink:0}.action-button{padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600;background-color:var(--tg-color-section-bg);color:var(--app-text)}.action-button--primary{background-color:var(--tg-color-accent);color:var(--app-on-accent)}.action-button--danger{background-color:var(--app-danger-surface);color:var(--app-danger-text)}.action-button:disabled{opacity:.5}.role-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;text-transform:capitalize;background-color:var(--tg-color-section-bg);color:var(--tg-color-subtitle-text)}.role-badge--owner{background-color:var(--app-owner-surface);color:var(--app-owner-text)}.role-badge--manager{background-color:var(--app-info-surface);color:var(--app-info-text)}.status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;text-transform:capitalize}.status-badge--active{background-color:var(--app-success-surface);color:var(--app-success-text)}.status-badge--pending{background-color:var(--app-warning-surface);color:var(--app-warning-text)}.status-badge--suspended,.status-badge--rejected{background-color:var(--app-danger-surface);color:var(--app-danger-text)}.invite-button{width:100%;padding:12px;border-radius:8px;background-color:var(--tg-color-accent);color:var(--app-on-accent);font-weight:600;font-size:14px;margin-bottom:16px}.inline-error{background-color:var(--app-danger-surface);color:var(--app-danger-text);padding:10px 12px;border-radius:6px;font-size:13px;margin-bottom:12px}.account-page{padding-bottom:24px}.account-card,.account-danger-zone{background:var(--app-surface-muted);border-radius:12px;padding:16px;margin:14px 0}.account-danger-zone{border:1px solid var(--app-danger-text)}.account-danger-zone h2{margin:0 0 8px;font-size:18px}.account-danger-zone p{margin:0 0 14px}.account-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--app-border)}.account-row:last-child{border-bottom:0}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:end;background:color-mix(in srgb,var(--app-text) 45%,transparent)}.confirm-dialog{width:100%;max-width:560px;margin:0 auto;padding:20px;border-radius:18px 18px 0 0;background:var(--app-surface)}.confirm-title{margin:0 0 10px;font-size:20px}.confirm-content p{margin:0 0 10px}.confirm-actions{display:flex;justify-content:end;gap:10px;margin-top:18px}.entry-page{min-height:100%;overflow-y:auto;padding:16px;background:var(--app-surface);color:var(--app-text)}.entry-toolbar{display:flex;align-items:center;justify-content:space-between;max-width:560px;margin:0 auto 28px}.entry-brand{font-size:15px;font-weight:800;letter-spacing:-.02em}.entry-language select{border:1px solid var(--tg-color-section-bg);border-radius:8px;background:var(--app-surface);color:var(--app-text);padding:7px 8px;font:inherit;font-size:12px;font-weight:600}.entry-content{width:100%;max-width:560px;margin:0 auto}.entry-identity{margin-bottom:12px;color:var(--tg-color-subtitle-text);font-size:12px}.entry-title{max-width:460px;font-size:28px;line-height:1.15;letter-spacing:-.03em;margin-bottom:10px}.entry-subtitle{color:var(--tg-color-subtitle-text);font-size:15px;margin-bottom:24px}.entry-steps{display:grid;gap:10px;margin-bottom:24px}.entry-step{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--tg-color-section-bg)}.entry-step-number{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:var(--tg-color-accent);color:var(--app-on-accent);font-size:12px;font-weight:800}.entry-step strong,.entry-choice strong{display:block;font-size:14px}.entry-step p,.entry-choice span{display:block;margin-top:2px;color:var(--tg-color-subtitle-text);font-size:12px}.entry-actions{display:grid;gap:10px}.entry-choice{width:100%;padding:16px;border:1px solid var(--tg-color-section-bg);border-radius:12px;background:var(--app-surface);color:var(--app-text);text-align:left;transition:border-color .15s,background .15s}.entry-choice:active,.entry-choice:hover{border-color:var(--tg-color-accent);background:var(--tg-color-section-bg)}.entry-choice:disabled{cursor:not-allowed;opacity:.65}.entry-note,.entry-muted{color:var(--tg-color-subtitle-text);font-size:13px}.entry-note{margin-top:10px}.entry-form{padding:18px;border:1px solid var(--tg-color-section-bg);border-radius:12px}.entry-form h1,.entry-status-card h1{margin-bottom:10px;font-size:21px;line-height:1.2}.entry-label{display:block;margin-top:20px;margin-bottom:6px;font-size:13px;font-weight:700}.entry-input{width:100%;padding:12px;border:1px solid var(--tg-color-section-bg);border-radius:8px;background:var(--app-surface);color:var(--app-text);font:inherit}.entry-input:focus{outline:none;border-color:var(--tg-color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--tg-color-accent) 20%,transparent)}.entry-form-actions{display:flex;gap:8px;margin-top:20px}.entry-button{flex:1;padding:12px;border-radius:8px;font-size:14px;font-weight:700}.entry-button--primary{background:var(--tg-color-accent);color:var(--app-on-accent)}.entry-button--secondary{background:var(--tg-color-section-bg);color:var(--tg-color-text)}.entry-button:disabled{cursor:not-allowed;opacity:.5}.entry-error{margin-top:12px;color:var(--tg-color-destructive);font-size:13px}.entry-status-card{padding:24px 18px;border:1px solid var(--tg-color-section-bg);border-radius:14px;text-align:center}.entry-status-icon{margin-bottom:10px;font-size:38px}.entry-status-card p+p{margin-top:8px}.entry-status-card .entry-button{width:100%;margin-top:20px}.entry-bot-warning{margin-top:12px}@media(min-width:480px){.entry-page{padding:24px}.entry-actions{grid-template-columns:1fr 1fr}}:root{--tg-color-bg: #ffffff;--tg-color-text: #000000;--tg-color-hint: #999999;--tg-color-link: #0088cc;--tg-color-accent: #0088cc;--tg-color-button-text: #ffffff;--tg-color-section-bg: #f2f2f2;--tg-color-section-header-text: #8a8f98;--tg-color-subtitle-text: #8a8f98;--tg-color-destructive: #ff3b30;--tg-unsafe-bg: #ffffff;--tg-unsafe-text: #000000;--app-canvas: var(--tg-unsafe-bg);--app-surface: var(--tg-color-bg);--app-surface-muted: var(--tg-color-section-bg);--app-text: var(--tg-unsafe-text);--app-muted-text: var(--tg-color-subtitle-text);--app-border: color-mix(in srgb, var(--app-text) 12%, transparent);--app-shadow: color-mix(in srgb, var(--app-text) 8%, transparent);--app-spinner-track: color-mix(in srgb, var(--app-text) 12%, transparent);--app-focus-ring: color-mix(in srgb, var(--tg-color-accent) 20%, transparent);--app-on-accent: var(--tg-color-button-text);--app-success-surface: #e8f5e9;--app-success-text: #1b5e20;--app-warning-surface: #fff3e0;--app-warning-text: #a44b00;--app-danger-surface: #ffebee;--app-danger-text: #b71c1c;--app-info-surface: #e3f2fd;--app-info-text: #0d47a1;--app-owner-surface: #ede7f6;--app-owner-text: #4527a0;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme]){--app-success-surface: #153c28;--app-success-text: #92e0ae;--app-warning-surface: #4a3215;--app-warning-text: #ffd08a;--app-danger-surface: #4a2024;--app-danger-text: #ffafb5;--app-info-surface: #193957;--app-info-text: #9dd0ff;--app-owner-surface: #332452;--app-owner-text: #d6baff;color-scheme:dark}}:root[data-theme=dark]{--app-success-surface: #153c28;--app-success-text: #92e0ae;--app-warning-surface: #4a3215;--app-warning-text: #ffd08a;--app-danger-surface: #4a2024;--app-danger-text: #ffafb5;--app-info-surface: #193957;--app-info-text: #9dd0ff;--app-owner-surface: #332452;--app-owner-text: #d6baff;color-scheme:dark}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100vh;width:100vw;overflow:hidden}body{font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;background-color:var(--app-canvas);color:var(--app-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;width:100%;display:flex;flex-direction:column}button{border:none;background:none;cursor:pointer;font:inherit;color:inherit}a{color:var(--tg-color-link);text-decoration:none}a:hover{opacity:.8}.chip{display:inline-block;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:600;white-space:nowrap}.chip--success{background-color:var(--app-success-surface);color:var(--app-success-text)}.chip--warning{background-color:var(--app-warning-surface);color:var(--app-warning-text)}.chip--alert{background-color:var(--app-danger-surface);color:var(--app-danger-text)}.card{background-color:var(--app-surface);border:1px solid var(--app-border);border-radius:8px;padding:16px;margin-bottom:12px}.spinner{display:inline-block;width:20px;height:20px;border:3px solid var(--app-spinner-track);border-radius:50%;border-top-color:var(--tg-color-accent);animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-muted{color:var(--tg-color-hint);font-size:13px}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.px-1{padding-left:12px;padding-right:12px}.flex{display:flex}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.full-height{height:100%}.full-width{width:100%}.px-4{padding-left:16px;padding-right:16px}.py-2{padding-top:16px;padding-bottom:16px}
