:root{color:#1f2933;--color-primary:#1b5e20;--color-primary-light:#2e7d32;--color-income:#2e7d32;--color-expense:#c62828;--color-border:#dde5df;--color-muted:#64748b;--color-card-border:#c4d0c7;--color-surface:#fff;--color-surface-muted:#f8fafc;--radius-card:12px;--card-pad:1rem;--card-pad-desktop:1.25rem;--touch-min:44px;--header-height:56px;--bottom-nav-height:64px;--content-max:1200px;--app-page-title-size:1.5rem;--app-page-title-size-desktop:1.75rem;--app-page-section-gap:1rem;background:#f4f7f5;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{min-height:100vh;margin:0;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{background:var(--color-primary-light);color:#fff;min-height:var(--touch-min);cursor:pointer;border:none;border-radius:10px;padding:.65rem 1rem}button:disabled{opacity:.6;cursor:not-allowed}.btn-link{color:var(--color-primary);min-height:var(--touch-min);background:0 0;border-radius:0;padding:.5rem}.btn-link.danger{color:var(--color-expense)}.btn-primary{background:var(--color-primary-light);color:#fff;width:100%}.btn-secondary{color:#334155;border:1px solid var(--color-border);background:#fff;width:100%}.btn-secondary-link{text-align:center;min-height:var(--touch-min);color:var(--color-primary);border:1px solid var(--color-border);background:#fff;border-radius:10px;padding:.75rem;font-weight:600;display:block}.btn-secondary-link:hover{background:#f4f7f5;text-decoration:none}.btn-secondary-link:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.btn-block{width:100%;margin-top:.5rem;display:block}.btn-danger-outline{color:var(--color-expense);white-space:nowrap;background:#fff;border:1px solid #e3b5b5}.btn-danger-outline:hover{background:#fdf2f2}.btn-danger-outline:focus-visible{outline:2px solid var(--color-expense);outline-offset:2px}.btn-danger-outline:disabled{opacity:.6;cursor:not-allowed}.btn-outline-primary{width:auto;min-height:2.25rem;color:var(--color-primary);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #a5d6a7;border-radius:8px;justify-content:center;align-items:center;padding:.4rem .85rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}button.btn-outline-primary{appearance:none;font-family:inherit}.btn-outline-primary:hover{border-color:var(--color-primary-light);background:#f4fbf5;text-decoration:none}.btn-outline-primary:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.login-actions,.login-method-actions{flex-direction:column;gap:.5rem;display:flex}.login-actions button,.login-actions .button,.login-method-actions button,.login-method-actions .button{text-align:center;justify-content:center;align-items:center;display:inline-flex}.login-passkey-helper{text-align:center;margin:0;font-size:.875rem}.login-divider{color:#64748b;align-items:center;gap:.75rem;font-size:.875rem;display:flex}.login-divider:before,.login-divider:after{content:"";border-top:1px solid var(--color-border);flex:1}.login-switch-method{width:100%;margin-top:.25rem}.btn-header{width:auto;min-height:var(--touch-min);color:#fff;white-space:nowrap;justify-content:center;align-items:center;padding:.65rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-outline-primary.btn-header{color:var(--color-primary)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{min-height:var(--header-height);background:var(--color-primary);color:#fff;z-index:40;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 1rem;display:flex;position:sticky;top:0}.brand{white-space:nowrap;font-size:1.1rem;font-weight:700}.app-brand{align-items:center;gap:8px;min-width:0;display:flex}.app-brand__mark{object-fit:cover;border-radius:7px;flex-shrink:0;width:30px;height:30px}.app-brand__text{font-weight:inherit;font-size:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-brand--auth{justify-content:center;margin-bottom:.25rem}.app-brand--auth .app-brand__mark{width:44px;height:44px}.app-brand--auth .app-brand__text{font-size:1.35rem;font-weight:700}.auth-page__stack{flex-direction:column;align-items:stretch;gap:.75rem;width:min(420px,100%);display:flex}.auth-page__top{justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.language-selector{flex-direction:column;gap:.35rem;min-width:0;font-size:.9rem;display:flex}.language-selector--compact{flex-direction:row;align-items:center;gap:.35rem}.language-selector__label{font-weight:500}.language-selector__select{min-width:0;max-width:100%;font:inherit}.header-language{align-items:center;display:flex}.header-language label{align-items:center;margin:0;line-height:1;display:flex}.header-language .language-selector__select{color:#e8f5e9;box-sizing:border-box;min-height:var(--touch-min);background:#ffffff1f;border:1px solid #ffffff59;border-radius:6px;padding:.35rem .5rem;font-size:.8rem;line-height:1.25}.auth-language .language-selector__select{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:.3rem .5rem;font-size:.85rem}.more-language{margin-bottom:1rem;padding:1rem}.auth-page__stack .getting-started-page{width:100%}.user-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;min-width:0;display:flex}.user-meta .org-name{opacity:.9;text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.85rem;display:none;overflow:hidden}.user-meta .unit-select{min-height:var(--touch-min);color:var(--color-primary);background:#fff;border:1px solid #a5d6a7;border-radius:8px;max-width:min(180px,45vw);padding:.35rem .5rem;font-size:.9rem}.user-meta .btn-link{color:#e8f5e9}.app-header--admin .app-header__brand{flex:0 auto;min-width:0}.app-header--admin .app-brand__text{min-width:0;max-width:100%;display:inline-flex}.admin-header__title-short{display:none}.app-header--admin .user-meta__email{text-overflow:ellipsis;white-space:nowrap;opacity:.9;min-width:0;max-width:240px;font-size:.85rem;overflow:hidden}.section-title{color:var(--color-primary-light);margin:1.25rem 0 .5rem;font-size:1rem}.status-badge{color:#475569;background:#f1f5f9;border-radius:999px;padding:.15rem .5rem;font-size:.8rem;font-weight:600;display:inline-block}.status-badge--sent{color:#166534;background:#dcfce7}.status-badge--failed{color:#991b1b;background:#fee2e2}.status-badge--not-sent{color:#64748b;background:#f1f5f9}.status-badge--unknown{color:#92400e;background:#fef3c7}.app-body{flex:1;min-width:0;display:flex}.sidebar{border-right:1px solid var(--color-border);background:#fff;flex-direction:column;flex-shrink:0;gap:.35rem;width:220px;padding:1rem;display:flex}.sidebar a{color:#334155;min-height:var(--touch-min);border-radius:8px;padding:.65rem .75rem}.nav-link{align-items:center;gap:.5rem;text-decoration:none;display:flex}.nav-link-icon{flex:none;width:1.125rem;height:1.125rem}.nav-link-label{min-width:0;line-height:1.3}.sidebar a.active,.sidebar a:hover,.more-menu__link.active,.more-menu__link:hover{background:#e8f5e9;text-decoration:none}.admin-mobile-nav{border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:#fff;gap:.5rem;padding:.5rem 1rem;display:none;overflow-x:auto}.admin-mobile-nav a{color:#334155;text-align:center;min-height:var(--touch-min);border-radius:8px;flex:none;justify-content:center;align-items:center;padding:.65rem .75rem;font-size:.9rem;display:flex}.admin-mobile-nav a.active,.admin-mobile-nav a:hover{color:var(--color-primary);background:#e8f5e9;font-weight:600;text-decoration:none}.content{min-width:0;max-width:100%;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));flex:1}.has-bottom-nav .content{padding-bottom:calc(var(--bottom-nav-height) + 1rem + env(safe-area-inset-bottom,0px))}.app-page{gap:var(--app-page-section-gap);flex-direction:column;display:flex}.app-page__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.app-page__title-group{flex:auto;min-width:0}.app-page__title{font-size:var(--app-page-title-size);margin:0;font-weight:700;line-height:1.25}.app-page__subtitle{margin:.25rem 0 0}.app-page__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.page-help-link{min-height:var(--touch-min);border:1px solid var(--color-border);color:var(--color-muted,#64748b);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.page-help-link:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.page-help-link__icon{flex-shrink:0;width:1rem;height:1rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.page-header h1{font-size:var(--app-page-title-size);margin:0;font-weight:700;line-height:1.25}.back-link{min-height:var(--touch-min);font-size:.95rem;line-height:var(--touch-min);margin-bottom:.5rem;display:inline-block}.card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-card);padding:var(--card-pad);max-width:100%;margin-bottom:1rem}.stat-grid{grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem;display:grid}.stat-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;padding:1rem}.stat-card span{color:var(--color-muted);margin-bottom:.25rem;font-size:.9rem;display:block}.stat-card strong{word-break:break-word;font-size:1.5rem;line-height:1.2}.stat-card.income strong{color:var(--color-income)}.stat-card.expense strong{color:var(--color-expense)}.stat-card.net strong{color:#1565c0}.dashboard-amount{font-variant-numeric:tabular-nums;align-items:baseline;gap:.25rem;display:inline-flex}.dashboard-amount__currency{color:var(--color-muted);margin-left:.25rem;font-size:.9rem;font-weight:500}.dashboard-date-range .date-range-row{margin-bottom:0}.date-range-row__error{grid-column:1/-1;margin:0}.dashboard-status{color:var(--color-muted);margin:-.25rem 0 .75rem;font-size:.9rem}.dashboard-refresh-error{color:var(--color-expense);background:#fff5f5;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.65rem .85rem;display:flex}.dashboard-refresh-error p{margin:0}.dashboard-quick-actions{gap:8px;margin-bottom:1rem}.dashboard-quick-actions__button{border-radius:8px;justify-content:center;align-items:center;gap:.4rem;min-height:48px;display:inline-flex}.dashboard-quick-actions__icon{flex-shrink:0;width:16px;height:16px}.dashboard-summary{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-card);flex-direction:column;gap:0;margin-bottom:1rem;display:flex;overflow:hidden}.dashboard-summary--loading{background:0 0;border:0;gap:.75rem;padding:.75rem}.dashboard-summary__item{align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.dashboard-summary__item+.dashboard-summary__item{border-top:1px solid var(--color-card-border)}.dashboard-summary__icon{flex-shrink:0;width:18px;height:18px}.dashboard-summary__item.income .dashboard-summary__icon,.dashboard-summary__item.income .dashboard-amount__value{color:var(--color-income)}.dashboard-summary__item.expense .dashboard-summary__icon,.dashboard-summary__item.expense .dashboard-amount__value{color:var(--color-expense)}.dashboard-summary__item.net .dashboard-summary__icon,.dashboard-summary__item.net .dashboard-amount__value{color:#1565c0}.dashboard-summary__copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.dashboard-summary__label-full,.dashboard-summary__label-short{color:var(--color-muted);font-size:.9rem}.dashboard-summary__label-full{display:none}.dashboard-summary__label-short{display:block}.dashboard-summary__copy strong{word-break:break-word;font-size:1.1rem;line-height:1.2}.dashboard-summary__skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:8px;min-height:72px;animation:1.2s ease-in-out infinite dashboard-skeleton}.dashboard-chart{border-radius:var(--radius-card)}.dashboard-chart__header{flex-direction:column;gap:.75rem;margin-bottom:.75rem;display:flex}.dashboard-chart__header h2{margin:0;font-size:1rem}.dashboard-chart__canvas{width:100%;height:240px;min-height:240px}.dashboard-chart__legend{flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.dashboard-chart__legend-item{color:#475569;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.dashboard-chart__legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dashboard-chart__canvas--loading,.dashboard-chart__canvas--empty,.dashboard-chart__empty{color:var(--color-muted);border:1px dashed var(--color-border);background:#f8faf9;border-radius:8px;justify-content:center;align-items:center;display:flex}.dashboard-recent__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.dashboard-recent__header h2{margin:0;font-size:1rem}.dashboard-recent__view-all{color:var(--color-primary);white-space:nowrap;font-weight:600;text-decoration:none}.dashboard-error{flex-direction:column;gap:.75rem;display:flex}.form-error{color:var(--color-expense);margin:-.5rem 0 1rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes dashboard-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.quick-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem;display:grid}.quick-actions a{min-height:var(--touch-min);text-align:center;white-space:normal;word-break:break-word;border-radius:12px;justify-content:center;align-items:center;padding:.75rem;font-weight:600;line-height:1.25;text-decoration:none;display:inline-flex}.quick-actions .btn-income{color:var(--color-income);background:#e8f5e9;border:1px solid #a5d6a7}.quick-actions .btn-expense{color:var(--color-expense);background:#ffebee;border:1px solid #ef9a9a}.grid-2{grid-template-columns:1fr;gap:1rem;display:grid}.table-wrap{-webkit-overflow-scrolling:touch;background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-card);max-width:100%;margin-bottom:1rem;overflow-x:auto}.card .table-wrap{border:0;border-radius:0;margin-bottom:0}.admin-table-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%;max-width:100%;overflow-x:auto}.admin-table-scroll table{width:100%;min-width:720px}.admin-table-scroll--wide table{min-width:880px}.admin-table-scroll__hint{color:var(--color-muted);margin:0 0 .5rem;font-size:.85rem;display:none}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.65rem .5rem;font-size:.9rem}th{background:var(--color-surface-muted)}.filters{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.filters-panel{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:none}.filters-panel.open{display:flex}.filters-toggle{color:var(--color-primary);border:1px solid var(--color-border);background:#fff}.pagination{flex-direction:column;gap:.75rem;margin-top:1rem;padding:.5rem 0 0;display:flex}.pagination__summary{color:var(--color-muted);margin:0;font-size:.9rem}.pagination__controls{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;display:flex}.pagination__page-size{flex-direction:column;flex:140px;gap:.35rem;max-width:100%;margin-bottom:0;display:flex}.pagination__page-size select{width:100%;max-width:8rem}.pagination__buttons{flex-wrap:wrap;gap:.5rem;display:flex}.pagination__button{flex:auto;width:auto;min-width:6.5rem}.reports-pagination{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:.75rem}label{flex-direction:column;gap:.35rem;margin-bottom:.75rem;font-size:.9rem;display:flex}input,select,textarea{min-height:var(--touch-min);border:1px solid #cbd5e1;border-radius:10px;width:100%;max-width:100%;padding:.65rem .75rem}textarea{resize:vertical;min-height:88px}.auth-page{min-height:100dvh;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));place-items:center;display:grid}.auth-card{width:min(420px,100%)}.form-narrow{max-width:480px}.form-page{max-width:560px;margin:0 auto}.form-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.settings-page .settings-sections{gap:var(--app-page-section-gap);flex-direction:column;width:100%;max-width:720px;margin-right:auto;display:flex}.settings-page .settings-sections>.card{margin-bottom:0}.settings-card__title{margin:0 0 .75rem;font-size:1.1rem}.settings-card__title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.settings-card__title-row .settings-card__title{margin-bottom:0}.settings-subheading{color:var(--color-muted);margin:1rem 0 .5rem;font-size:.95rem;font-weight:600}.settings-bu-list{margin-bottom:.5rem}.settings-bu-list__name{word-break:break-word;min-width:0}.settings-bu-default{color:var(--color-primary);background:#e8f5e9;border-radius:999px;flex:none;padding:.15rem .5rem;font-size:.75rem;font-weight:600}.settings-about{flex-direction:column;gap:.25rem;display:flex}.settings-about p{margin:0}.settings-about__app{font-weight:600}.settings-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.settings-tabs__tab{min-width:0;min-height:var(--touch-min);background:var(--color-surface);border:1px solid var(--color-card-border);color:#334155;text-align:center;border-radius:8px;padding:.5rem .9rem;font-weight:500}@media (width>=640px){.settings-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.settings-tabs__tab{white-space:nowrap;flex:none}}.settings-tabs__tab.is-active{border-color:var(--color-primary);color:var(--color-primary);background:#e8f5e9;font-weight:600}.settings-tabs__tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.settings-page .form-actions button{min-width:8rem}.passkey-list li{gap:.75rem}.passkey-list__details{min-width:0}@media (width<=600px){.passkey-list li{flex-direction:column;align-items:flex-start}.passkey-list__remove{align-self:flex-start}}.inline-form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.inline-form label{flex:140px;margin-bottom:0}.alert{border-radius:8px;margin-bottom:.75rem;padding:.75rem}.alert.error{color:#b71c1c;background:#ffebee}.alert.success{color:var(--color-primary);background:#e8f5e9}.page-center{text-align:center;padding:2rem 1rem}.page-loading{justify-content:center;align-items:center;min-height:12rem;padding:2rem 1rem;display:flex}.page-loading__panel{text-align:center;width:min(320px,100%)}.page-loading__message{color:var(--color-muted);margin:0 0 1rem;font-size:.95rem}.page-loading__bars{flex-direction:column;gap:.55rem;display:flex}.page-loading__bar{background:#e7ece8;border-radius:999px;height:10px;display:block;position:relative;overflow:hidden}.page-loading__bar:after{content:"";border-radius:inherit;opacity:.5;background:currentColor;width:40%;animation:1.7s ease-in-out infinite page-loading-shimmer;position:absolute;inset:0}.page-loading__bar--income{color:var(--color-income)}.page-loading__bar--expense{color:var(--color-expense);width:88%;margin:0 auto}.page-loading__bar--balance{color:#1565c0;width:72%;margin:0 auto}.page-loading__bar--expense:after{animation-delay:.15s}.page-loading__bar--balance:after{animation-delay:.3s}@keyframes page-loading-shimmer{0%{transform:translate(-120%)}to{transform:translate(280%)}}.auth-pending-status{border:1px solid var(--color-border);background:#f4f7f5;border-radius:10px;margin-top:1rem;padding:.85rem 1rem}.auth-pending-status__message{color:var(--color-muted);text-align:center;margin:0 0 .75rem;font-size:.9rem}.auth-pending-status__bars{flex-direction:column;gap:.45rem;display:flex}.auth-pending-status__bar{background:#e7ece8;border-radius:999px;height:8px;display:block;position:relative;overflow:hidden}.auth-pending-status__bar:after{content:"";border-radius:inherit;opacity:.5;background:currentColor;width:42%;animation:1.7s ease-in-out infinite page-loading-shimmer;position:absolute;inset:0}.auth-pending-status__bar--income{color:var(--color-income)}.auth-pending-status__bar--expense{color:var(--color-expense);width:90%}.auth-pending-status__bar--balance{color:#1565c0;width:75%}.auth-pending-status__bar--expense:after{animation-delay:.15s}.auth-pending-status__bar--balance:after{animation-delay:.3s}.recent-tx-skeleton{flex-direction:column;gap:.75rem;display:flex}.recent-tx-skeleton__row{border:1px solid var(--color-card-border);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;gap:.45rem;padding:.85rem 1rem;display:flex}.recent-tx-skeleton__line{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:6px;height:12px;animation:1.2s ease-in-out infinite dashboard-skeleton;display:block}.recent-tx-skeleton__line--title{width:55%}.recent-tx-skeleton__line--amount{width:35%;height:16px}.recent-tx-skeleton__line--meta{width:70%;height:10px}.skeleton-line{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:6px;height:12px;animation:1.2s ease-in-out infinite dashboard-skeleton;display:block}.skeleton-line--title{width:55%}.skeleton-line--amount{width:35%;height:16px}.skeleton-line--meta{width:70%;height:10px}.skeleton-line--badge{border-radius:999px;width:28%;height:20px}.skeleton-line--label{width:40%;height:10px;margin-bottom:.35rem}.skeleton-line--input{border-radius:8px;width:100%;height:40px}.list-skeleton{flex-direction:column;gap:.75rem;display:flex}.list-skeleton__row{border:1px solid var(--color-card-border);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;gap:.45rem;padding:.85rem 1rem;display:flex}.list-skeleton__row--category{flex-direction:row;justify-content:space-between;align-items:center}.table-skeleton{flex-direction:column;gap:.35rem;width:100%;display:flex;overflow-x:hidden}.table-skeleton__row{border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.table-skeleton__cell{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:6px;flex:1 1 0;min-width:0;height:12px;animation:1.2s ease-in-out infinite dashboard-skeleton;display:block}.report-view-skeleton{flex-direction:column;gap:1rem;display:flex}.report-view-skeleton__chart{border:1px dashed var(--color-border);background:#f8faf9;border-radius:8px;justify-content:space-around;align-items:flex-end;gap:.5rem;min-height:220px;padding:1rem;display:flex}.report-view-skeleton__bar{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:4px 4px 0 0;flex:1 1 0;max-width:48px;min-height:28%;animation:1.2s ease-in-out infinite dashboard-skeleton;display:block}.report-view-skeleton__pie{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:50%;width:160px;height:160px;margin:0 auto;animation:1.2s ease-in-out infinite dashboard-skeleton}.report-view-skeleton__legend{flex-direction:column;gap:.5rem;padding:0 .25rem;display:flex}.report-view-skeleton__legend-row{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:6px;width:min(100%,280px);height:14px;animation:1.2s ease-in-out infinite dashboard-skeleton;display:block}.form-skeleton{flex-direction:column;gap:1rem;display:flex}.form-skeleton__field{flex-direction:column;display:flex}.app-loading{background:#f7f9f7;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.app-loading__card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-card);text-align:center;width:min(380px,100%);padding:1.75rem 1.5rem;box-shadow:0 8px 24px #1b5e2014}.app-loading__brand{margin-bottom:.75rem}.app-loading__message{color:var(--color-muted);margin:0 0 1.25rem;font-size:.95rem}.app-loading__chart{width:100%;height:90px;margin-bottom:1.25rem;display:block}.app-loading__grid{stroke:var(--color-border);stroke-width:1px;stroke-dasharray:4 5}.app-loading__line{fill:none;stroke:var(--color-income);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:320;stroke-dashoffset:320px;animation:2.2s ease-in-out infinite app-loading-draw}.app-loading__marker{fill:var(--color-income);opacity:.9}.app-loading__metrics{flex-direction:column;gap:.7rem;display:flex}.app-loading__metric{align-items:center;gap:.75rem;display:flex}.app-loading__metric-label{text-align:left;color:var(--color-muted);flex:0 0 70px;font-size:.85rem}.app-loading__bar{background:#e7ece8;border-radius:999px;flex:1;height:12px;position:relative;overflow:hidden}.app-loading__bar:after{content:"";border-radius:inherit;opacity:.55;background:currentColor;width:45%;animation:1.8s ease-in-out infinite app-loading-shimmer;position:absolute;inset:0}.app-loading__bar--income{color:var(--color-income)}.app-loading__bar--expense{color:var(--color-expense)}.app-loading__bar--balance{color:#1565c0}.app-loading__bar--expense:after{animation-delay:.2s}.app-loading__bar--balance:after{animation-delay:.4s}@keyframes app-loading-draw{0%{stroke-dashoffset:320px}60%{stroke-dashoffset:0}to{stroke-dashoffset:0}}@keyframes app-loading-shimmer{0%{transform:translate(-110%)}to{transform:translate(240%)}}@media (prefers-reduced-motion:reduce){.app-loading__line{stroke-dashoffset:0;animation:none}.app-loading__marker{display:none}.app-loading__bar:after{width:55%;animation:none}.page-loading__bar:after,.auth-pending-status__bar:after{width:55%;animation:none;transform:none}.recent-tx-skeleton__line,.dashboard-summary__skeleton,.skeleton-line,.table-skeleton__cell,.report-view-skeleton__bar,.report-view-skeleton__pie,.report-view-skeleton__legend-row{background:#e2e8f0;animation:none}}.route-chunk-error p{margin:0 0 .75rem}.muted{color:var(--color-muted);font-size:.9rem}.list-plain{margin:0;padding:0;list-style:none}.list-plain li{border-bottom:1px solid #eef2f7;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem 0;display:flex}.card-list{flex-direction:column;gap:.75rem;display:flex}.transaction-card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-card);border-left:4px solid #94a3b8;padding:1rem}.transaction-card--income{border-left-color:var(--color-income)}.transaction-card--expense{border-left-color:var(--color-expense)}.transaction-card__header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;display:flex}.transaction-card__title{margin:0;font-size:1rem;font-weight:600}.transaction-card__amount{margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.transaction-card--income .transaction-card__amount{color:var(--color-income)}.transaction-card--expense .transaction-card__amount{color:var(--color-expense)}.transaction-card__meta{color:var(--color-muted);flex-direction:column;gap:.2rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.transaction-card__actions{flex-wrap:wrap;gap:.5rem;display:flex}.badge{white-space:nowrap;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-income{color:var(--color-income);background:#e8f5e9}.badge-expense{color:var(--color-expense);background:#ffebee}.category-source-badge--system{color:#475569;background:#f1f5f9}.category-source-badge--organization{color:var(--color-primary,#14532d);background:#e8f5e9}.categories-item-card__title-row{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.15rem;display:flex}.categories-item-card__name{word-break:break-word;min-width:0;margin:0}.categories-table__name{word-break:break-word}.categories-table__actions{white-space:nowrap}.categories-table-wrap{overflow-x:auto}.item-card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-card);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.item-card__main{min-width:0}.item-card__title{margin:0 0 .15rem;font-weight:600}.item-card__sub{color:var(--color-muted);margin:0;font-size:.85rem}.segmented-control{background:#f1f5f9;border-radius:12px;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem;padding:.35rem;display:grid}.segmented-control button{color:#475569;min-height:var(--touch-min);white-space:normal;background:0 0;border-radius:10px;padding:.5rem .35rem;font-weight:600;line-height:1.2}.segmented-control button.active{color:var(--color-primary);background:#fff;box-shadow:0 1px 3px #00000014}.segmented-control button.active:first-child{color:var(--color-income)}.segmented-control button.active:last-child{color:var(--color-expense)}.amount-field{margin-bottom:1.25rem}.amount-input-wrap{border:2px solid var(--color-primary-light);background:#f8faf8;border-radius:12px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.amount-input-wrap--income{border-color:var(--color-income);background:#f1f8f1}.amount-input-wrap--income .amount-currency,.amount-input-wrap--income .amount-input{color:var(--color-income)}.amount-input-wrap--income:focus-within{border-color:var(--color-income);box-shadow:0 0 0 3px #2e7d3233}.amount-input-wrap--expense{border-color:var(--color-expense);background:#ffebee}.amount-input-wrap--expense .amount-currency,.amount-input-wrap--expense .amount-input{color:var(--color-expense)}.amount-input-wrap--expense:focus-within{border-color:var(--color-expense);box-shadow:0 0 0 3px #c6282833}.amount-currency{color:var(--color-muted);font-size:.95rem;font-weight:600}.amount-input{flex:1;font-weight:700;background:0 0!important;border:none!important;min-height:48px!important;padding:0!important;font-size:1.75rem!important}.amount-input:focus{outline:none}.bottom-nav{z-index:50;border-top:1px solid var(--color-border);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom,0px));min-height:var(--bottom-nav-height);background:#fff;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000f}.bottom-nav__item{min-height:52px;color:var(--color-muted);border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.15rem;padding:.35rem .25rem;font-size:.7rem;text-decoration:none;display:flex}.bottom-nav__item:hover{text-decoration:none}.bottom-nav__item.active{color:var(--color-primary);font-weight:600}.bottom-nav__item--add{color:#fff;background:var(--color-primary-light);border-radius:14px;max-width:72px;margin:0 .15rem}.bottom-nav__item--add.active{background:var(--color-primary)}.bottom-nav__item--add .bottom-nav__icon{font-size:1.5rem;font-weight:700}.bottom-nav__item--add .bottom-nav__label{color:#fff}.bottom-nav__icon{font-size:1.15rem;line-height:1}.bottom-nav__label{text-align:center;white-space:normal;word-break:break-word;max-width:100%;line-height:1.1}.more-menu{margin:0 0 1.5rem;padding:0;list-style:none}.more-menu__link{min-height:var(--touch-min);background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-card);color:#334155;margin-bottom:.5rem;padding:.75rem 1rem;font-weight:500}.more-menu__link:hover{background:#e8f5e9;text-decoration:none}.table-desktop{display:none}.card-list-mobile{display:flex}.chart-section,.dashboard-chart{display:block}.report-summary{grid-template-columns:1fr;gap:.75rem;display:grid}.report-stat{background:#f8fafc;border-radius:10px;padding:.85rem 1rem}.report-stat span{color:var(--color-muted);font-size:.85rem;display:block}.report-stat strong{font-size:1.2rem}.report-actions{flex-direction:column;gap:.5rem;display:flex}.report-actions button:last-child{color:var(--color-primary);border:1px solid var(--color-border);background:#fff}.reports-page__footer{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.reports-export-btn{color:var(--color-primary);border:1px solid var(--color-border);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.55rem .85rem;display:inline-flex}.reports-export-btn:disabled{opacity:.65;cursor:not-allowed}.reports-export-btn svg{width:1rem;height:1rem}.report-view-select{margin-bottom:1rem;display:none}.report-view-select label{flex-direction:column;gap:.35rem;margin:0;font-size:.9rem;display:flex}.report-view-select select{text-overflow:ellipsis;width:100%}.reports-tabs{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.reports-tabs__tab{border:1px solid var(--color-border);color:var(--color-text);white-space:nowrap;background:#fff;border-radius:8px;flex:none;padding:.5rem .75rem}.reports-tabs__tab.is-active{border-color:var(--color-primary);color:var(--color-primary);background:#e8f5e9}@media (width<=600px){.reports-page .reports-tabs{display:none}.reports-page .report-view-select{display:block}}.reports-summary .dashboard-summary__item.expense .dashboard-amount__value{color:#9a7b4f}.reports-summary .dashboard-summary__item.net.is-positive .dashboard-amount__value{color:var(--color-income)}.reports-summary .dashboard-summary__item.net.is-negative .dashboard-amount__value{color:var(--color-expense)}.reports-view__header{flex-direction:column;gap:.75rem;margin-bottom:.75rem;display:flex}.reports-view h2{margin:0;font-size:1.05rem}.reports-status,.reports-empty{color:var(--color-muted);margin:0 0 .75rem}.reports-chart-scroll{margin-bottom:1rem;overflow-x:auto}.reports-table{margin-top:1rem}.reports-table__name{overflow-wrap:anywhere}.reports-legend{gap:.45rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.reports-legend li{grid-template-columns:auto 1fr auto;align-items:start;gap:.5rem;display:grid}.reports-legend__swatch{border-radius:2px;width:.75rem;height:.75rem;margin-top:.2rem}.reports-legend__label{overflow-wrap:anywhere}.reports-legend__value{white-space:nowrap;font-variant-numeric:tabular-nums}.reports-chart-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.25rem;margin:.75rem 0 1rem;padding:0;list-style:none;display:flex}.reports-chart-legend__item{color:var(--color-muted);align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.reports-chart-legend__swatch{border-radius:2px;flex-shrink:0;width:.75rem;height:.75rem}.reports-chart-legend__label{white-space:nowrap}.reports-card__metrics{gap:.35rem;margin:.35rem 0 0;display:grid}.reports-card__metrics div{justify-content:space-between;gap:.75rem;display:flex}.reports-card__metrics dt{color:var(--color-muted);margin:0}.reports-card__metrics dd{font-variant-numeric:tabular-nums;margin:0}.amount-positive{color:var(--color-income)}.amount-negative{color:var(--color-expense)}.date-range-row,.period-row{grid-template-columns:minmax(0,1fr);gap:.75rem;width:100%;max-width:100%;margin-bottom:1rem;display:grid}.date-range-row label,.period-row label{min-width:0;margin-bottom:0}.date-range-row input[type=date],.period-row input[type=date]{appearance:none;box-sizing:border-box;text-align:center;width:100%;min-width:0;max-width:100%}.bu-breakdown-cards{flex-direction:column;gap:.75rem;display:flex}.bu-card{border:1px solid var(--color-card-border);border-radius:var(--radius-card);background:var(--color-surface);padding:.85rem 1rem}.bu-card h3{margin:0 0 .5rem;font-size:1rem}.bu-card dl{grid-template-columns:1fr 1fr;gap:.35rem .75rem;margin:0;font-size:.9rem;display:grid}.bu-card dt{color:var(--color-muted)}.bu-card dd{text-align:right;margin:0;font-weight:600}code{word-break:break-all;font-size:.85rem}@media (width>=480px){.date-range-row,.period-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.stat-grid,.report-summary{grid-template-columns:repeat(3,1fr)}.report-actions{flex-flow:wrap}.reports-page__footer{align-items:flex-end}.reports-export-btn{width:auto}.reports-view__header{flex-direction:row;justify-content:space-between;align-items:center}.reports-summary{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid;overflow:visible}.reports-summary .dashboard-summary__item{border:1px solid var(--color-card-border);border-radius:var(--radius-card);padding:var(--card-pad)}}@media (width>=768px){.content{padding:1.5rem}.user-meta .org-name{display:block}.app-page__title{font-size:var(--app-page-title-size-desktop)}.dashboard-summary{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid;overflow:visible}.dashboard-summary__item{padding:var(--card-pad);border:1px solid var(--color-card-border);border-radius:var(--radius-card);flex-direction:column;align-items:flex-start;gap:.35rem}.dashboard-summary__icon{display:none}.dashboard-summary__label-full{display:block}.dashboard-summary__label-short{display:none}.dashboard-summary__copy strong{font-size:1.5rem}.dashboard-chart__header{flex-direction:row;justify-content:space-between;align-items:center}.dashboard-chart__canvas{height:310px;min-height:310px}.app-header{align-items:center;gap:16px;height:auto;min-height:64px;padding:10px 16px;display:flex}.app-header__brand{flex:none;grid-area:auto;align-self:center}.app-header__meta,.user-meta{flex-wrap:nowrap;flex:0 auto;justify-content:flex-end;align-items:center;gap:10px;min-width:0;margin-left:auto;display:flex}.app-header--admin .app-header__meta{flex-wrap:nowrap}.app-header--admin .user-meta__email{max-width:min(280px,30vw)}.admin-header__title-full{display:inline}.admin-header__title-short{display:none}.app-header .header-language{flex:none;grid-area:auto;place-self:center}.app-header .header-language .language-selector__select{min-height:var(--touch-min)}.user-meta .unit-select,.app-header .unit-select{width:clamp(180px,16vw,260px);min-width:180px;max-width:clamp(180px,16vw,260px);min-height:var(--touch-min);text-overflow:ellipsis;flex:0 auto;grid-area:auto;overflow:hidden}.user-meta .org-name{flex:0 auto;min-width:0;max-width:180px}.header-logout{white-space:nowrap;width:auto;min-height:var(--touch-min);flex:none;align-self:center;margin:0}.app-brand--header .app-brand__text{text-overflow:clip;overflow:visible}.grid-2{grid-template-columns:repeat(2,1fr)}.card{padding:var(--card-pad-desktop)}.table-desktop{display:block}.card-list-mobile{display:none}.filters-panel{flex-flow:wrap;align-items:end;display:flex!important}.filters-toggle{display:none}.bottom-nav{display:none!important}.has-bottom-nav .content{padding-bottom:1.5rem}.transaction-form-page .form-page{max-width:560px}}@media (width>=1024px){.content{max-width:var(--content-max);width:100%;margin:0 auto}}@media (width<=767px){.sidebar{display:none}.app-header{height:auto;min-height:0;padding:calc(12px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) 12px max(16px, env(safe-area-inset-left,0px));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand language""business business";align-items:center;gap:12px;display:grid}.app-header__brand{grid-area:brand;min-width:0}.app-header__meta{display:contents}.app-header .header-language{min-height:var(--touch-min);grid-area:language;place-self:center end}.app-header .header-language .language-selector__select{min-height:var(--touch-min)}.app-header .unit-select{width:100%;min-width:0;max-width:none;min-height:var(--touch-min);text-overflow:ellipsis;grid-area:business;overflow:hidden}.app-brand--header .app-brand__text{text-overflow:clip;overflow:visible}.app-brand--header .app-brand__mark{width:26px;height:26px}.app-header--admin{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.app-header--admin .app-header__brand{width:100%;min-width:0}.app-header--admin .app-brand__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-header__title-full{display:none}.admin-header__title-short{display:inline}.app-header--admin .app-header__meta{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.35rem .75rem;width:100%;display:flex}.app-header--admin .user-meta__email{flex:8rem;min-width:0;max-width:none}.app-header--admin .btn-link{white-space:nowrap;flex:none}.app-header--no-business-unit{grid-template-rows:auto;grid-template-areas:"brand language";row-gap:0}.admin-mobile-nav{flex-wrap:nowrap;display:flex}.admin-table-scroll__hint{display:block}.bottom-nav{display:flex}.app-shell.has-bottom-nav .user-meta .header-logout,.filters:not(.filters-panel){display:none}.filters-toggle{width:100%}.filters.filters-panel{flex-flow:column;align-items:stretch}.filters.filters-panel label{width:100%;min-width:0;margin-bottom:0}.filters.filters-panel input,.filters.filters-panel select{width:100%;max-width:100%}.pagination__controls{flex-direction:column;align-items:stretch}.pagination__buttons{width:100%}.pagination__button{flex:1 1 0}.card-list{gap:.45rem}.transaction-card{border-radius:8px;grid-template-columns:1fr auto;gap:.1rem .5rem;padding:.45rem .6rem;display:grid}.transaction-card__header{display:contents}.transaction-card__title{grid-area:1/1;align-self:center;font-size:.9rem;line-height:1.25}.transaction-card__header .badge{grid-area:1/2;align-self:center;padding:.1rem .4rem;font-size:.7rem}.transaction-card__amount{grid-area:2/1;margin:0;font-size:1rem;line-height:1.2}.transaction-card__meta{text-align:right;grid-area:2/2;align-self:end;margin:0;font-size:.75rem;line-height:1.2}.transaction-card__meta:has(span:nth-child(2)){text-align:left;flex-direction:column;grid-area:3/1/auto/-1;gap:.1rem;display:flex}.transaction-card__actions{border-top:1px solid #eef2f7;grid-area:4/1/auto/-1;margin:.2rem 0 0;padding-top:.25rem}.transaction-card__actions .btn-link{min-height:36px;padding:.2rem .5rem;font-size:.85rem}.transaction-card__meta:has(span:nth-child(2))~.transaction-card__actions{grid-row:5}.transaction-card:not(:has(.transaction-card__actions)) .transaction-card__meta:only-child{grid-area:2/2}.transaction-card:not(:has(.transaction-card__actions)) .transaction-card__meta:has(span:only-child){grid-area:2/2}}.pwa-install{margin-bottom:.75rem}.pwa-install__button{justify-content:center;align-items:center;gap:.5rem;width:auto;min-height:44px;display:inline-flex}.pwa-install--auth{justify-content:center;display:flex}.pwa-install--more{margin-top:.75rem}.pwa-install__instructions{margin-top:.5rem;padding:.75rem 1rem}.pwa-install__title{margin:0 0 .5rem;font-weight:600}.pwa-install__instructions ol{margin:0 0 .75rem 1.1rem;padding:0}.pwa-update{left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));z-index:1000;border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;display:flex;position:fixed;box-shadow:0 8px 24px #0f172a1f}.pwa-update__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.pwa-update__button{flex:auto;width:auto;min-height:44px}.pwa-update__button--primary{background:var(--color-primary-light);color:#fff;border:none;font-weight:600}.pwa-update__button--primary:hover{background:var(--color-primary)}.pwa-update__button--primary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pwa-update__button--secondary{color:var(--color-primary);border:1px solid var(--color-border);background:#fff;font-weight:500}.pwa-update__button--secondary:hover{background:#f4f7f5}.pwa-update__button--secondary:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}@media (width>=480px){.pwa-update__button{flex:0 auto}}.help-page{min-height:100dvh;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));background:var(--color-bg,#f8faf9)}.help-page__inner{flex-direction:column;gap:.75rem;width:min(1100px,100%);margin:0 auto;display:flex}.help-page__header{flex-direction:column;gap:.75rem;display:flex}.help-page__brand-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.help-page__actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;display:flex}.help-layout{align-items:start;gap:1rem;display:grid}.help-nav{flex-wrap:wrap;gap:.35rem;display:flex}.help-nav__link,.help-page__action-btn{min-height:var(--touch-min);border:1px solid var(--color-border);color:inherit;background:#fff;border-radius:999px;align-items:center;padding:.45rem .75rem;font-size:.9rem;text-decoration:none;display:inline-flex}.help-page__action-btn:hover{background:#f4f7f5;text-decoration:none}.help-page__action-btn:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.help-nav__link--active{border-color:var(--color-primary);background:#e8f5e9;font-weight:600}.help-layout__content{min-width:0}.help-center,.help-article{width:100%;max-width:760px}.help-center__header,.help-article__header,.help-search{margin-bottom:1rem}.help-search__label{margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}.help-search__input{width:100%;max-width:100%;min-height:var(--touch-min);border:1px solid var(--color-border);background:#fff;border-radius:10px;padding:.55rem .75rem;font-size:1rem}.help-search__results{margin-top:.75rem}.help-search__results-title{margin:0 0 .5rem;font-size:1rem;font-weight:600}.help-search__list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.help-search__result{display:block}.help-search__match{margin:.35rem 0 0;font-size:.85rem}.help-search__empty{padding:.75rem 0}.help-center__start{margin-bottom:1rem}.help-center__grid{grid-template-columns:1fr;gap:.75rem;display:grid}.help-card{color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.help-card:hover{border-color:var(--color-primary-light);box-shadow:0 2px 8px #0000000f}.help-card--featured{border-color:var(--color-primary-light);background:linear-gradient(#f4fbf5 0%,#fff 100%)}.help-card__eyebrow{text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary);margin:0 0 .35rem;font-size:.8rem;font-weight:600}.help-card__title{margin:0 0 .35rem;font-size:1.1rem}.help-card__description{margin:0;font-size:.95rem}.help-card__cta{margin-top:.75rem;display:inline-flex}.help-center__footer{margin-top:1.25rem}.help-article__intro{margin-top:.35rem}.help-article__section+.help-article__section{border-top:1px solid var(--color-border);margin-top:1.25rem;padding-top:1.25rem}.help-note{border-left:3px solid var(--color-primary);background:#f4fbf5;border-radius:0 8px 8px 0;margin-top:.75rem;padding:.75rem .9rem}.help-article__link-list{margin:.5rem 0 0;padding-left:1.25rem}.help-article__link-list a{font-weight:500}.help-article__related{margin-top:1.5rem}.help-screenshot{margin:1rem 0 0}.help-screenshot img{border:1px solid var(--color-border);border-radius:10px;width:100%;height:auto}.help-screenshot__frame{border:1px dashed var(--color-border);text-align:center;background:#f8faf9;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:140px;padding:1rem;display:flex}.help-screenshot__label{color:var(--color-muted,#64748b);font-size:.85rem;font-weight:600}.help-screenshot__caption{font-size:.85rem}@media (width>=768px){.help-layout{grid-template-columns:220px minmax(0,1fr);gap:1.5rem}.help-nav{flex-flow:column;position:sticky;top:1rem}.help-nav__link{border-radius:10px;width:100%}.help-center__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.onboarding-checklist__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.onboarding-checklist__title{margin:0 0 .25rem;font-size:1.1rem}.onboarding-checklist__intro{margin:0;font-size:.95rem}.onboarding-checklist__dismiss{flex:none}.onboarding-checklist__item.is-complete .btn-outline-primary{opacity:.85}.onboarding-checklist__progress{color:var(--color-muted,#64748b);margin:0 0 .75rem;font-size:.9rem}.onboarding-checklist__list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.onboarding-checklist__item{border-top:1px solid var(--color-border);grid-template-columns:auto 1fr;gap:.75rem;padding:.75rem 0;display:grid}.onboarding-checklist__item:first-child{border-top:none;padding-top:0}.onboarding-checklist__item.is-complete{opacity:.75}.onboarding-checklist__item.is-complete .onboarding-checklist__item-title{text-decoration:line-through}.onboarding-checklist__check{border:1px solid var(--color-border);background:#fff;border-radius:999px;justify-content:center;align-items:flex-start;width:1.25rem;height:1.25rem;margin-top:.15rem;display:inline-flex}.onboarding-checklist__item.is-complete .onboarding-checklist__check{border-color:var(--color-primary);color:var(--color-primary);background:#e8f5e9}.onboarding-checklist__check-icon{width:.9rem;height:.9rem}.onboarding-checklist__item-title{margin:0 0 .25rem;font-size:1rem}.onboarding-checklist__item-description{margin:0 0 .5rem;font-size:.9rem}.onboarding-checklist__actions{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.empty-state{padding:1rem 0}.empty-state--compact{padding:.5rem 0 .75rem}.empty-state__title{margin:0 0 .35rem;font-size:1rem;font-weight:600}.empty-state__body{margin:0 0 .75rem;font-size:.95rem}.empty-state__actions{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.card.empty-state{text-align:center}.card.empty-state .empty-state__actions{justify-content:center}.transaction-bulk-entry-page{max-width:1100px}.bulk-entry-header{flex-direction:column;gap:.75rem;margin-bottom:.75rem;display:flex}.bulk-entry-header__intro .back-link{margin-bottom:.35rem;display:inline-block}.bulk-entry-subtitle{color:var(--color-muted);margin:0 0 1rem;font-size:.95rem;line-height:1.45}.bulk-entry-subtitle--desktop{display:none}.bulk-entry-shared{gap:.75rem;margin-bottom:1rem;display:grid}.bulk-entry-shared--desktop{display:none}.bulk-entry-shared__field{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.bulk-entry-shared__field select,.bulk-entry-shared__field input{min-height:var(--touch-min);font-weight:400}.bulk-entry-card{flex-direction:column;gap:1rem;display:flex}.bulk-entry-table-wrap{display:none}.bulk-entry-cards{flex-direction:column;gap:.85rem;display:flex}.bulk-entry-mobile-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;padding:.85rem;display:flex}.bulk-entry-mobile-card__top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.bulk-entry-mobile-card .segmented-control{flex:1;margin-bottom:0}.bulk-entry-type-control button.active:first-child{color:var(--color-income);box-shadow:none;background:#e8f5e9;border:1px solid #a5d6a7}.bulk-entry-type-control button.active:last-child{color:var(--color-expense);box-shadow:none;background:#ffebee;border:1px solid #ef9a9a}.bulk-entry-actions{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.bulk-entry-icon-btn{width:var(--touch-min);height:var(--touch-min);min-height:var(--touch-min);color:#1565c0;cursor:pointer;background:#fff;border:1px solid #90caf9;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.bulk-entry-icon-btn--danger{color:var(--color-expense);border-color:#ef9a9a}.bulk-entry-details-toggle svg,.bulk-entry-details-disclosure svg{transition:transform .15s}.bulk-entry-details-toggle.is-expanded svg,.bulk-entry-details-disclosure.is-expanded svg{transform:rotate(180deg)}.bulk-entry-details-disclosure{min-height:var(--touch-min);color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;width:auto;padding:.35rem .15rem;font-weight:600;display:inline-flex}.bulk-entry-details-disclosure:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.bulk-entry-details-row td{border-bottom:1px solid var(--color-border);background:#f8faf9;padding:.85rem .75rem 1rem}.bulk-entry-details-grid{gap:.75rem;display:grid}.bulk-entry-details-grid label{flex-direction:column;gap:.35rem;margin:0;font-size:.9rem;font-weight:600;display:flex}.bulk-entry-details-grid input,.bulk-entry-details-grid select{min-height:var(--touch-min);font-weight:400}@media (width>=768px){.bulk-entry-details-grid{grid-template-columns:1fr 1fr;gap:.85rem 1rem}.bulk-entry-details-grid input,.bulk-entry-details-grid select{min-height:2.5rem}}.bulk-entry-icon-btn:disabled{opacity:.4;cursor:not-allowed}.bulk-entry-icon-btn:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.bulk-entry-amount{text-align:right;font-variant-numeric:tabular-nums}.field-error{color:var(--color-expense);margin-top:.25rem;font-size:.8rem;font-weight:500;display:block}.bulk-entry-add{min-height:var(--touch-min);color:#1565c0;cursor:pointer;background:#f8fbff;border:1.5px dashed #64b5f6;border-radius:10px;align-self:stretch;font-weight:600}.bulk-entry-add--desktop{display:none}.bulk-entry-add--mobile{justify-content:center;align-items:center;gap:.35rem;display:inline-flex}.bulk-entry-add:disabled{opacity:.5;cursor:not-allowed}.bulk-entry-summary{border:1px solid var(--color-border);background:#f4f7f5;border-radius:12px;grid-template-columns:1fr 1fr;gap:.65rem 1rem;padding:.85rem 1rem;font-size:.9rem;display:grid}.bulk-entry-summary__count{color:#334155;grid-column:1/-1;font-weight:600}.bulk-entry-summary__income{color:var(--color-income);font-weight:600}.bulk-entry-summary__expense{color:var(--color-expense);text-align:right;font-weight:600}.bulk-entry-summary__net--desktop{display:none}.bulk-entry-footer{bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));z-index:2;background:#fff;flex-direction:column;gap:.65rem;padding-top:.25rem;display:flex;position:sticky}.bulk-entry-cancel{display:none}.bulk-entry-save{width:100%;min-height:var(--touch-min)}@media (width>=768px){.bulk-entry-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1.5rem}.bulk-entry-subtitle--desktop{margin-bottom:0;display:block}.bulk-entry-subtitle--mobile{display:none}.bulk-entry-shared--desktop{flex-wrap:wrap;justify-content:flex-end;gap:.85rem;margin-bottom:0;display:flex}.bulk-entry-shared--mobile{display:none}.bulk-entry-shared__field{min-width:180px}.bulk-entry-table-wrap{display:block;overflow-x:auto}.bulk-entry-cards{display:none}.bulk-entry-table{border-collapse:collapse;width:100%}.bulk-entry-table th{text-align:left;color:var(--color-muted);border-bottom:1px solid var(--color-border);padding:.5rem .6rem;font-size:.8rem;font-weight:600}.bulk-entry-table td{vertical-align:top;border-bottom:1px solid #eef2f7;padding:.55rem .6rem}.bulk-entry-table select,.bulk-entry-table input{width:100%;min-height:2.5rem}.bulk-entry-type--income{color:var(--color-income);background:#e8f5e9;border-color:#a5d6a7;font-weight:600}.bulk-entry-type--expense{color:var(--color-expense);background:#ffebee;border-color:#ef9a9a;font-weight:600}.bulk-entry-add--desktop{width:auto;color:var(--color-primary);background:0 0;border:none;align-self:flex-start;align-items:center;min-height:auto;padding:.35rem .25rem;display:inline-flex}.bulk-entry-add--mobile{display:none}.bulk-entry-summary{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;display:flex}.bulk-entry-summary__count{grid-column:auto}.bulk-entry-summary__expense{text-align:left}.bulk-entry-summary__net--desktop{color:#1565c0;font-weight:600;display:inline}.bulk-entry-summary__income,.bulk-entry-summary__expense,.bulk-entry-summary__net--desktop{border-left:1px solid #d7dee8;padding-left:1rem}.bulk-entry-footer{background:0 0;flex-direction:row;justify-content:flex-end;align-items:center;padding-top:.5rem;position:static}.bulk-entry-cancel{width:auto;min-width:7rem;display:inline-flex}.bulk-entry-save{width:auto;min-width:12rem}}
