:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f7f6f2;--surface:#fff;--surface-secondary:#f1f3ee;--surface-soft:#faf9f6;--primary:#9cafaa;--primary-light:#dce7e3;--secondary:#c8b6d8;--secondary-light:#eee7f4;--accent:#e5c6a8;--accent-light:#f5e9dd;--income:#8fb9a8;--income-background:#e2f0ea;--expense:#d7a3a3;--expense-background:#f6e5e5;--transfer:#9eb5cf;--transfer-background:#e7eef6;--debt:#c5aa83;--debt-background:#f2eadf;--warning:#d5b176;--danger:#c98989;--text-primary:#3f4745;--text-secondary:#7b8481;--text-muted:#a2aaa7;--border:#e2e5e1;--focus:#7f9c95;--radius-small:10px;--radius-medium:16px;--radius-large:24px;--radius-round:999px;--shadow-soft:0 8px 30px #3f47450f;--shadow-lifted:0 14px 42px #3f474517;--duration-fast:.18s;--duration-base:.22s;--font-family:Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#202825;--surface:#29312e;--surface-secondary:#323b37;--surface-soft:#26302c;--primary:#9cafaa;--primary-light:#334841;--secondary:#b9a6ca;--secondary-light:#3f3648;--accent:#d9b895;--accent-light:#43382c;--income:#94c4b0;--income-background:#2f4b42;--expense:#d7a3a3;--expense-background:#4d3738;--transfer:#9eb5cf;--transfer-background:#324153;--debt:#cfb180;--debt-background:#463d2f;--warning:#d5b176;--danger:#d09191;--text-primary:#eef2ee;--text-secondary:#b7c0bc;--text-muted:#8f9b96;--border:#3e4944;--focus:#b5cec7;--shadow-soft:0 8px 30px #0c121038;--shadow-lifted:0 14px 42px #0c121047}*{box-sizing:border-box}html{background:var(--background);min-width:320px;color:var(--text-primary);font-family:var(--font-family)}body{background:linear-gradient(135deg, #dce7e38a, transparent 38%), linear-gradient(225deg, #f5e9dd7a, transparent 32%), var(--background);min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{border:0}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus), transparent 35%);outline-offset:3px}#root{min-height:100vh}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);border-radius:var(--radius-large);background:color-mix(in srgb, var(--surface), transparent 2%);width:min(100%,420px);box-shadow:var(--shadow-lifted);gap:18px;padding:28px;display:grid}.auth-card__icon{background:var(--primary-light);width:52px;height:52px;color:var(--text-primary);border-radius:18px;justify-content:center;align-items:center;display:inline-flex}.auth-card__copy{gap:6px;display:grid}.auth-card__copy p,.auth-card__message{color:var(--text-secondary);margin:0;line-height:1.55}.auth-card__copy p{font-size:13px;font-weight:700}.auth-card__copy h1{color:var(--text-primary);margin:0;font-size:30px;line-height:1.1}.auth-card__form{gap:14px;display:grid}.app-shell{grid-template-columns:292px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:color-mix(in srgb, var(--surface), transparent 8%);border-right:1px solid var(--border);flex-direction:column;gap:22px;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.sidebar__brand,.sidebar__footer,.user-chip{align-items:center;gap:12px;display:flex}.sidebar__brand strong,.user-chip strong{color:var(--text-primary);font-size:15px;line-height:1.2;display:block}.sidebar__brand span,.user-chip span{color:var(--text-secondary);font-size:12px;line-height:1.4;display:block}.sidebar__logo,.user-chip__avatar{background:var(--primary-light);width:44px;height:44px;color:var(--text-primary);border-radius:15px;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.sidebar__add-link,.nav-link,.bottom-nav__link{border-radius:var(--radius-medium);min-height:44px;color:var(--text-secondary);transition:background-color var(--duration-base) ease, color var(--duration-base) ease, transform var(--duration-base) ease;align-items:center;gap:10px;display:flex}.sidebar__add-link{background:var(--primary);color:#fff;box-shadow:var(--shadow-soft);justify-content:center;font-weight:700}.sidebar__add-link:hover,.nav-link:hover,.bottom-nav__link:hover{transform:translateY(-1px)}.sidebar__nav{gap:5px;display:grid}.nav-link{padding:0 14px;font-size:14px;font-weight:600}.nav-link.is-active,.nav-link:hover{background:var(--primary-light);color:var(--text-primary)}.sidebar__footer{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface-soft);justify-content:space-between;margin-top:auto;padding:12px}.app-content{width:min(100%,1440px);padding:32px}.page{gap:24px;display:grid}.page-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);align-items:start;gap:18px;display:grid}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.ui-button{border-radius:var(--radius-round);cursor:pointer;min-height:42px;color:var(--text-primary);background:var(--surface-secondary);transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease, box-shadow var(--duration-fast) ease;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:inline-flex}.ui-button:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.ui-button:disabled{cursor:not-allowed;opacity:.65;transform:none}.ui-button--primary{background:var(--primary);color:#fff}.ui-button--secondary{background:var(--secondary-light)}.ui-button--ghost{color:var(--text-secondary);background:0 0}.ui-button--danger{background:var(--expense-background);color:var(--danger)}.ui-button--small{min-height:34px;padding:0 12px;font-size:13px}.ui-button--large{min-height:50px;padding:0 20px}.icon-button{width:42px;min-width:42px;padding:0}.ui-card{border:1px solid var(--border);border-radius:var(--radius-large);background:color-mix(in srgb, var(--surface), transparent 3%);box-shadow:var(--shadow-soft);transition:transform var(--duration-base) ease, box-shadow var(--duration-base) ease, border-color var(--duration-base) ease}.ui-card:hover{box-shadow:var(--shadow-lifted);border-color:color-mix(in srgb, var(--primary), var(--border) 65%);transform:translateY(-2px)}.ui-card__content{padding:20px}.stat-card{gap:12px;min-height:138px;display:grid}.stat-card__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.stat-card__label{color:var(--text-secondary);margin:0;font-size:13px;font-weight:700}.stat-card__value{color:var(--text-primary);font-size:26px;font-weight:800;line-height:1.15}.stat-card__description{color:var(--text-muted);margin:0;font-size:13px;line-height:1.45}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.page-header__copy{gap:8px;display:grid}.page-header__eyebrow{color:var(--text-muted);margin:0;font-size:13px;font-weight:700}.page-header h1{color:var(--text-primary);margin:0;font-size:34px;line-height:1.1}.page-header p{max-width:620px;color:var(--text-secondary);margin:0;font-size:15px;line-height:1.6}.page-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.badge{border-radius:var(--radius-round);width:fit-content;min-height:28px;color:var(--text-primary);background:var(--surface-secondary);align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.badge--income{background:var(--income-background);color:var(--income)}.badge--expense{background:var(--expense-background);color:var(--danger)}.badge--transfer{background:var(--transfer-background);color:var(--transfer)}.badge--debt{background:var(--debt-background);color:var(--debt)}.empty-state{border:1px dashed color-mix(in srgb, var(--border), var(--primary) 25%);border-radius:var(--radius-large);background:color-mix(in srgb, var(--surface), transparent 15%);justify-items:start;gap:12px;min-height:220px;padding:26px;display:grid}.empty-state__icon{background:var(--accent-light);width:46px;height:46px;color:var(--text-primary);border-radius:15px;justify-content:center;align-items:center;display:inline-flex}.empty-state h2,.chart-card h2{color:var(--text-primary);margin:0;font-size:18px}.empty-state p,.chart-card p{color:var(--text-secondary);margin:0;line-height:1.55}.progress-bar{border-radius:var(--radius-round);background:var(--surface-secondary);width:100%;height:10px;overflow:hidden}.progress-bar__value{border-radius:inherit;background:var(--primary);height:100%;transition:width var(--duration-base) ease}.progress-bar--warning .progress-bar__value{background:#d99a38}.progress-bar--danger .progress-bar__value{background:var(--danger)}.form-field{gap:7px;display:grid}.form-field label{color:var(--text-secondary);font-size:13px;font-weight:700}.form-field input,.form-field select{border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--surface);width:100%;min-height:44px;color:var(--text-primary);transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, background-color var(--duration-fast) ease;padding:0 14px}.form-field input:focus,.form-field select:focus{border-color:var(--focus);box-shadow:0 0 0 4px color-mix(in srgb, var(--focus), transparent 82%);outline:none}.form-field__hint{color:var(--text-muted);font-size:12px}.form-field__error{color:var(--danger);font-size:12px}.form-stack{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}@media (width<=360px){.bottom-nav{gap:2px;padding:6px}.bottom-nav__link{padding:0 2px;font-size:10px}}.form-actions--split{justify-content:space-between;align-items:center}.form-actions__right{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.form-error{color:var(--danger);margin:0;font-size:13px;font-weight:700}.split-editor{border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--surface-soft);gap:12px;padding:14px;display:grid}.split-editor__header,.split-editor__footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.split-editor__header strong{color:var(--text-primary);font-size:14px}.split-editor__rows{gap:10px;display:grid}.split-row{grid-template-columns:minmax(0,1.2fr) minmax(130px,.8fr) auto;align-items:end;gap:10px;display:grid}.split-editor__footer span{color:var(--text-secondary);font-size:13px;font-weight:700}.split-editor__footer strong{font-size:13px}.split-editor__footer .is-balanced{color:var(--income)}.split-editor__footer .is-unbalanced{color:var(--danger)}.form-note,.settings-summary p{color:var(--text-secondary);margin:0;line-height:1.55}.checkbox-field{color:var(--text-secondary);align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--primary)}.color-swatch-list{flex-wrap:wrap;gap:10px;display:flex}.icon-choice-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:10px;display:grid}.icon-choice{border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--surface-secondary);min-width:42px;height:42px;color:var(--text-secondary);cursor:pointer;transition:border-color var(--duration-fast) ease, background-color var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease;justify-content:center;align-items:center;display:inline-flex}.icon-choice:hover{color:var(--text-primary);background:var(--primary-light)}.icon-choice.is-selected{border-color:var(--primary);background:color-mix(in srgb, var(--primary), transparent 82%);color:var(--text-primary);transform:translateY(-1px)}.color-swatch{cursor:pointer;width:34px;height:34px;transition:border-color var(--duration-fast) ease, transform var(--duration-fast) ease;border:3px solid #0000;border-radius:50%}.color-swatch.is-selected{border-color:var(--text-primary);transform:scale(1.06)}.category-entry{border:1px solid var(--border);border-radius:var(--radius-large);background:color-mix(in srgb, var(--surface), transparent 4%);box-shadow:var(--shadow-soft);touch-action:pan-y;gap:20px;padding:22px;display:grid;position:relative;overflow:hidden}.category-entry__top{text-align:center;justify-content:center;align-items:flex-start;gap:16px;display:flex}.category-entry__top,.category-entry__body{z-index:1;will-change:transform;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .22s;position:relative}.category-entry.is-swipe-preview .category-entry__top,.category-entry.is-swipe-preview .category-entry__body{opacity:calc(1 - var(--period-swipe-progress) * .18);transform:translate3d(var(--period-swipe-offset), 0, 0);transition-duration:0s}.period-swipe-indicator{z-index:2;border:1px solid color-mix(in srgb, var(--primary), transparent 58%);border-radius:var(--radius-medium);background:color-mix(in srgb, var(--surface), var(--primary-light) 28%);box-shadow:var(--shadow-soft);color:var(--text-primary);opacity:calc(.2 + var(--period-swipe-progress) * .8);pointer-events:none;transform:translate(-50%, -50%) scale(calc(.94 + var(--period-swipe-progress) * .06));align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;top:50%;left:50%}.category-entry__top>div,.category-entry .period-control,.category-entry .period-button{width:100%}.category-entry .period-button{text-align:center;justify-content:center}.category-entry__top p{color:var(--text-secondary);text-transform:capitalize;margin:0 0 5px;font-size:13px;font-weight:700}.category-entry__top h2{color:var(--text-primary);margin:0;font-size:24px;line-height:1.15}.period-control{align-items:center;display:inline-flex;position:relative}.period-button{min-height:42px;color:var(--text-primary);cursor:pointer;text-align:left;text-transform:capitalize;transition:color var(--duration-fast) ease;background:0 0;border-radius:0;align-items:center;padding:0;font-size:29px;font-weight:800;line-height:1.15;display:inline-flex}.period-button:hover{color:var(--focus)}.category-entry--income .period-button{color:color-mix(in srgb, var(--income), var(--text-primary) 25%)}.category-entry--expense .period-button{color:color-mix(in srgb, var(--expense), var(--text-primary) 25%)}.month-action-button{color:var(--text-primary);text-transform:capitalize}.period-picker{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.category-entry__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.category-entry__body{grid-template-columns:minmax(180px,.3fr) minmax(0,1fr);align-items:center;gap:22px;display:grid}.category-entry.is-period-next .category-entry__body,.category-entry.is-period-next .category-entry__top{animation:.38s cubic-bezier(.22,1,.36,1) period-slide-next}.category-entry.is-period-prev .category-entry__body,.category-entry.is-period-prev .category-entry__top{animation:.38s cubic-bezier(.22,1,.36,1) period-slide-prev}.category-entry__summary{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface-soft);text-align:left;justify-items:start;gap:4px;width:100%;margin:0;padding:18px;display:grid}.category-entry__summary span,.category-entry__summary small{color:var(--text-secondary)}.category-entry__summary strong{color:var(--text-primary);font-size:28px;line-height:1.15}.category-entry__grid{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));align-items:start;gap:16px 18px;display:grid}.category-entry__empty{border:1px dashed var(--border);border-radius:var(--radius-large);background:var(--surface-soft);grid-column:1/-1;justify-items:start;gap:10px;padding:18px;display:grid}.category-entry__empty p{color:var(--text-secondary);margin:0}.category-entry__group{justify-items:center;gap:8px;display:grid}.category-entry.is-category-manage-mode{border-color:color-mix(in srgb, var(--primary), var(--border) 42%)}.category-entry__group.is-dragging,.subcategory-list__item.is-dragging{opacity:.55}.category-entry__group.is-drop-target .category-tile,.subcategory-list__item.is-drop-target button{outline:2px solid var(--primary);outline-offset:4px}.category-entry__group.is-drop-before .category-tile{box-shadow:inset 0 5px 0 color-mix(in srgb, var(--primary), transparent 35%)}.category-entry__group.is-drop-after .category-tile{box-shadow:inset 0 -5px 0 color-mix(in srgb, var(--primary), transparent 35%)}.subcategory-list__item.is-drop-before button{box-shadow:inset 4px 0 0 color-mix(in srgb, var(--primary), transparent 35%)}.subcategory-list__item.is-drop-after button{box-shadow:inset -4px 0 0 color-mix(in srgb, var(--primary), transparent 35%)}.category-tile{border-radius:var(--radius-large);width:100%;min-height:168px;color:var(--text-primary);cursor:pointer;transition:background-color var(--duration-fast) ease, transform var(--duration-fast) ease;background:0 0;justify-items:center;gap:6px;padding:4px;display:grid}.category-tile:hover{background:var(--surface-soft);transform:translateY(-2px)}.category-tile__name{max-width:100%;color:var(--text-primary);text-align:center;font-size:15px;font-weight:700;line-height:1.25}.category-tile__amount{color:var(--text-muted);font-size:13px;font-weight:700}.category-tile__icon-shell{justify-content:center;align-items:center;display:inline-flex;position:relative}.category-tile__icon{background:color-mix(in srgb, var(--category-color), transparent 55%);width:78px;height:78px;color:color-mix(in srgb, var(--category-color), #3f4745 35%);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.category-entry.is-category-manage-mode .category-tile__icon{box-shadow:0 0 0 2px color-mix(in srgb, var(--primary), transparent 58%)}.category-drag-handle{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-secondary);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-soft);transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease, transform var(--duration-fast) ease;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.category-drag-handle:hover{color:var(--text-primary);background:var(--primary-light)}.category-drag-handle:active{cursor:grabbing;transform:scale(.96)}.category-tile__icon-shell .category-drag-handle{position:absolute;bottom:-4px;right:-8px}.category-tile strong{color:var(--text-primary);font-size:14px}.subcategory-list{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.subcategory-list__item{align-items:center;min-height:30px;display:inline-flex}.subcategory-list button{border-radius:var(--radius-round);background:var(--surface-secondary);min-height:30px;color:var(--text-secondary);cursor:pointer;padding:0 10px;font-size:12px;font-weight:700}.subcategory-list button:hover{color:var(--text-primary);background:var(--primary-light)}.subcategory-list__item .category-drag-handle{width:26px;height:26px;margin-left:-5px}.entity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.entity-list{gap:12px;display:grid}.entity-card .ui-card__content,.account-card .ui-card__content{gap:16px;display:grid}.entity-card__header,.entity-row .ui-card__content{align-items:center;gap:14px;display:flex}.entity-card__header{justify-content:space-between}.entity-card__icon,.entity-row__icon{background:var(--primary-light);width:42px;height:42px;color:var(--text-primary);border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.entity-row__icon--income{background:var(--income-background);color:var(--income)}.entity-row__icon--expense{background:var(--expense-background);color:var(--danger)}.entity-row__icon--transfer{background:var(--transfer-background);color:var(--transfer)}.entity-row__icon--debt{background:var(--debt-background);color:var(--debt)}.entity-card__body,.entity-row__main{gap:5px;min-width:0;display:grid}.entity-card__body h2,.entity-row__main h2{color:var(--text-primary);margin:0;font-size:17px;line-height:1.25}.entity-card__body p,.entity-row__main p,.entity-card__meta,.entity-row__side span{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.45}.entity-card__body strong{color:var(--text-primary);font-size:24px;line-height:1.15}.budget-card__badges{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.budget-card--warning .entity-card__body strong{color:#a76608}.budget-card--exceeded .entity-card__body strong{color:var(--danger)}.entity-row__main{flex:auto}.entity-row__side{justify-items:end;gap:4px;margin-left:auto;display:grid}.entity-row__side strong{color:var(--text-primary);white-space:nowrap}.entity-actions{flex-wrap:wrap;gap:8px;display:flex}.entity-actions--row{justify-content:flex-end}.settings-summary{gap:12px;display:grid}.reference-archive{border:1px solid var(--border);border-radius:var(--radius-large);background:color-mix(in srgb, var(--surface), transparent 3%);box-shadow:var(--shadow-soft);gap:18px;padding:24px;display:grid}.reference-archive__header,.reference-archive__actions,.reference-import-row,.reference-import-preview__types,.reference-transaction-row{align-items:center;gap:12px;display:flex}.reference-archive__header{justify-content:space-between}.reference-archive__header h2{margin:0;font-size:20px}.reference-archive__header span,.reference-archive__message,.reference-import-row span,.reference-transaction-row span{color:var(--text-secondary);font-size:13px}.reference-archive__actions{flex-wrap:wrap;justify-content:flex-end}.reference-archive__file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.reference-archive__message{color:var(--income);margin:0;font-weight:700}.reference-import-list,.reference-transaction-list{gap:10px;display:grid}.reference-import-row{border-top:1px solid var(--border);min-height:68px;padding:12px 0}.reference-import-row__icon{border-radius:var(--radius-medium);background:var(--secondary-light);width:40px;height:40px;color:var(--text-primary);justify-content:center;align-items:center;display:inline-flex}.reference-import-row__main,.reference-transaction-row>div{gap:3px;min-width:0;display:grid}.reference-import-row__main{flex:1}.reference-import-row__main strong,.reference-transaction-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reference-import-row__count{color:var(--text-primary);font-size:13px;font-weight:700}.reference-import-preview{gap:18px;display:grid}.reference-import-preview__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.reference-import-preview__stats div{border-radius:var(--radius-medium);background:var(--surface-soft);gap:5px;padding:14px;display:grid}.reference-import-preview__stats span{color:var(--text-secondary);font-size:12px;font-weight:700}.reference-import-preview__stats strong{font-size:16px}.reference-import-preview__types{flex-wrap:wrap}.reference-import-preview__types span,.reference-transaction-row__type{border-radius:var(--radius-round);background:var(--surface-secondary);min-height:26px;color:var(--text-secondary);align-items:center;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.reference-transaction-list{max-height:min(64dvh,680px);padding-right:4px;overflow-y:auto}.reference-transaction-row{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:12px 0}.reference-transaction-row>div:first-child{flex:1}.reference-transaction-row>div:last-child{text-align:right;justify-items:end;min-width:112px}.reference-transaction-row__type--income{background:var(--income-background);color:var(--income)}.reference-transaction-row__type--expense{background:var(--expense-background);color:var(--danger)}.reference-transaction-row__type--transfer{background:var(--transfer-background);color:var(--transfer)}.tabs{border-radius:var(--radius-round);background:var(--surface-secondary);gap:4px;padding:4px;display:inline-flex}.tabs__button{border-radius:var(--radius-round);min-height:34px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-fast) ease, color var(--duration-fast) ease;background:0 0;align-items:center;gap:7px;padding:0 13px;font-weight:700;display:inline-flex}.tabs__button.is-active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-soft)}.modal-backdrop,.drawer-backdrop{z-index:40;animation:fade-in var(--duration-base) ease;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#3f47453d;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal,.drawer{border-radius:var(--radius-large);background:var(--surface);width:min(100%,560px);box-shadow:var(--shadow-lifted);animation:rise-in var(--duration-base) ease}.modal{flex-direction:column;max-height:calc(100dvh - 40px);display:flex;overflow:hidden}.modal__header,.drawer__header{flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 0;display:flex}.modal__header h2,.drawer__header h2{margin:0;font-size:21px}.modal__content,.drawer__content{padding:20px}.modal__content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.drawer-backdrop{justify-items:end;padding:0}.drawer{border-radius:var(--radius-large) 0 0 var(--radius-large);max-width:520px;height:100%;animation:slide-in var(--duration-base) ease}.dropdown{display:inline-flex;position:relative}.dropdown__menu{z-index:20;border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--surface);min-width:220px;box-shadow:var(--shadow-lifted);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.dropdown__item{border-radius:var(--radius-small);min-height:38px;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;padding:0 10px}.dropdown__item:hover{background:var(--surface-secondary)}.tooltip{display:inline-flex;position:relative}.tooltip:hover:after{z-index:30;border-radius:var(--radius-small);background:var(--text-primary);width:max-content;max-width:220px;color:var(--surface);content:attr(data-tooltip);padding:7px 10px;font-size:12px;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.filter-panel{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface-soft);gap:14px;padding:16px;display:grid}.operations-filter{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(220px,1.15fr) auto;align-items:end;gap:12px;display:grid}.operations-filter__range{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.filter-summary{color:var(--text-secondary);margin:0;font-size:13px;font-weight:700}.analytics-filter{max-width:360px;display:grid}.analytics-grid{gap:18px;display:grid}.analytics-grid--overview{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.analytics-grid--charts{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-panel .ui-card__content{gap:18px;display:grid}.analytics-panel__header,.analytics-bar-list__labels,.analytics-account-list__labels,.analytics-legend li{justify-content:space-between;align-items:center;gap:12px;display:flex}.analytics-panel__header h2{color:var(--text-primary);margin:0;font-size:18px;line-height:1.25}.analytics-panel__header>span,.analytics-panel__header>svg{color:var(--text-secondary);flex:none}.analytics-panel__header>span{font-size:13px;font-weight:700}.analytics-chart{width:100%;min-width:0;height:270px}.analytics-chart--donut{height:232px}.analytics-donut-layout{grid-template-columns:minmax(210px,.85fr) minmax(0,1fr);align-items:center;gap:12px;display:grid}.analytics-legend,.analytics-bar-list,.analytics-account-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.analytics-legend li{min-width:0;color:var(--text-secondary);font-size:13px}.analytics-legend__button,.analytics-bar-list__button{width:100%;min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;padding:0;display:grid}.analytics-legend__button{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.analytics-bar-list__button{gap:7px}.analytics-legend__button:hover .analytics-legend__name,.analytics-bar-list__button:hover .analytics-bar-list__labels>span{color:var(--focus)}.analytics-legend__name,.analytics-bar-list__labels>span{align-items:center;gap:8px;min-width:0;display:inline-flex}.analytics-legend__name,.analytics-bar-list__labels>span,.analytics-account-list__labels>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analytics-legend i,.analytics-bar-list i{border-radius:50%;flex:none;width:9px;height:9px;display:inline-flex}.analytics-legend strong,.analytics-bar-list__labels strong,.analytics-account-list__labels strong{color:var(--text-primary);flex:none;font-size:13px}.analytics-bar-list li,.analytics-account-list li{gap:7px;display:grid}.analytics-bar-list__labels,.analytics-account-list__labels{min-width:0;color:var(--text-secondary);font-size:14px}.analytics-bar-list__track,.analytics-account-list__track{border-radius:var(--radius-round);background:var(--surface-secondary);width:100%;height:8px;display:block;overflow:hidden}.analytics-bar-list__fill,.analytics-account-list__fill{border-radius:inherit;height:100%;transition:width var(--duration-base) ease;display:block}.analytics-panel__empty{min-height:232px;color:var(--text-secondary);text-align:center;place-items:center;display:grid}.analytics-panel--accounts .ui-card__content{gap:16px}.analytics-empty-note{color:var(--text-secondary);text-align:center;margin:0;font-size:14px}.nik-page{max-width:980px}.nik-command-card .ui-card__content,.nik-draft-card .ui-card__content{gap:18px;display:grid}.nik-command-card__header,.nik-draft-card__header,.nik-section-heading{align-items:center;gap:12px;display:flex}.nik-command-card__icon{background:var(--primary-light);width:48px;height:48px;color:var(--primary);border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.nik-command-card h2,.nik-draft-card h2,.nik-section-heading h2{color:var(--text-primary);margin:0;font-size:19px;line-height:1.25}.nik-command-card p,.nik-draft-card p,.nik-insight p,.nik-summary{color:var(--text-secondary);margin:4px 0 0;line-height:1.5}.nik-command-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.nik-example-list{flex-wrap:wrap;gap:8px;display:flex}.nik-example-list button{border:1px solid var(--border);border-radius:var(--radius-round);background:var(--surface-secondary);min-height:32px;color:var(--text-secondary);cursor:pointer;padding:0 10px;font-size:12px;font-weight:700}.nik-example-list button:hover{color:var(--text-primary);background:var(--primary-light)}.nik-message{border-radius:var(--radius-medium);background:var(--expense-background);color:var(--text-primary);margin:0;padding:11px 13px;font-size:14px;font-weight:700}.nik-message--ready{background:var(--income-background)}.nik-draft-card__header{justify-content:space-between;align-items:flex-start}.nik-draft-card__status{color:var(--primary);flex:none;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.nik-draft-card__actions{justify-content:flex-start}.nik-insights{gap:14px;display:grid}.nik-section-heading{color:var(--text-primary)}.nik-section-heading>svg{color:var(--primary)}.nik-insights__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.nik-insight{border:1px solid var(--border);border-radius:var(--radius-medium);background:var(--surface);min-height:112px;padding:16px}.nik-insight--warning{border-color:color-mix(in srgb, var(--danger), transparent 65%);background:var(--expense-background)}.nik-insight--positive{border-color:color-mix(in srgb, var(--income), transparent 65%);background:var(--income-background)}.nik-insight strong{color:var(--text-primary);font-size:15px}.nik-summary{margin:0;padding:2px 0;font-size:13px}@media (width<=1100px){.analytics-grid--overview,.analytics-grid--charts{grid-template-columns:1fr}}@media (width<=820px){.analytics-page>.page-header{order:1}.analytics-page>.filter-panel{order:2}.analytics-page>.analytics-grid--overview{order:3}.analytics-page>.analytics-metrics{order:4}.analytics-page>.analytics-grid--charts{order:5}.analytics-page>.analytics-panel--accounts{order:6}.analytics-page>.analytics-empty-note{order:7}.analytics-filter{max-width:none}.analytics-donut-layout{grid-template-columns:1fr}.analytics-chart--donut{height:210px}}.chart-card{min-height:280px}.chart-card__body{align-content:center;gap:10px;min-height:220px;display:grid}.bottom-nav{z-index:30;overscroll-behavior-x:contain;border:1px solid var(--border);border-radius:var(--radius-large);background:color-mix(in srgb, var(--surface), transparent 2%);box-shadow:var(--shadow-lifted);scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding:8px;display:none;position:fixed;bottom:14px;left:14px;right:14px;overflow-x:auto}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav__link{flex-direction:column;flex:0 0 76px;justify-content:center;gap:4px;min-width:76px;min-height:52px;padding:0 6px;font-size:11px;font-weight:700}.bottom-nav__link.is-active{background:var(--primary-light);color:var(--text-primary)}.bottom-nav__link.is-add{background:var(--primary);color:#fff;min-height:58px;box-shadow:var(--shadow-soft);border-radius:19px;margin-top:-22px}.floating-add-button{z-index:20;display:none;position:fixed;bottom:28px;right:28px}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes slide-in{0%{opacity:0;transform:translate(18px)}}@keyframes period-slide-next{0%{opacity:.12;transform:translate(44px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes period-slide-prev{0%{opacity:.12;transform:translate(-44px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@media (width<=1100px){.app-shell{grid-template-columns:248px minmax(0,1fr)}.app-content{padding:24px}.metrics-grid,.section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid{grid-template-columns:1fr}.entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.app-shell{display:block}.sidebar{display:none}.app-content{width:100%;padding:22px 16px 124px}.page-header{display:grid}.page-header h1{font-size:28px}.page-header__actions{justify-content:flex-start}.form-actions--split,.form-actions__right{justify-content:stretch}.form-actions--split>.ui-button,.form-actions__right .ui-button{flex:140px}.operations-filter{grid-template-columns:1fr}.operations-filter .ui-button{width:100%}.metrics-grid,.section-grid,.category-entry__body,.entity-grid,.form-grid{grid-template-columns:1fr}.category-entry{padding:16px}.category-entry__top{display:grid}.period-button{font-size:25px}.category-entry__actions{justify-content:flex-start}.category-entry__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reference-archive{padding:18px}.reference-archive__header{flex-direction:column;align-items:stretch}.reference-archive__actions{justify-content:stretch}.reference-archive__actions .ui-button{flex:148px}.reference-import-row{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;display:grid}.reference-import-row__count{grid-column:2/4}.reference-import-preview__stats{grid-template-columns:1fr}.reference-transaction-row{gap:10px}.reference-transaction-row>div:last-child{min-width:96px}.category-tile{min-height:150px}.category-tile__icon{width:70px;height:70px}.entity-row .ui-card__content{grid-template-columns:42px minmax(0,1fr) max-content;grid-template-areas:"icon main side""icon badge side""icon actions actions";align-items:flex-start;gap:12px 10px;display:grid}.entity-row__icon{grid-area:icon}.entity-row__main{grid-area:main}.entity-row__badge{grid-area:badge}.entity-row__side{text-align:right;grid-area:side;justify-items:end;margin-left:0}.entity-actions--row{grid-area:actions;justify-content:flex-start;margin:2px 0 0}.nik-command-form,.nik-insights__list{grid-template-columns:1fr}.nik-command-form .ui-button{width:100%}.nik-draft-card__header{display:grid}.bottom-nav{display:flex}.modal-backdrop{align-items:start;padding:12px}.modal{max-height:calc(100dvh - 24px);margin:0}.modal__header{padding:18px 18px 0}.modal__content{padding:18px}.split-editor__header,.split-editor__footer{flex-direction:column;align-items:stretch}.split-row{grid-template-columns:1fr;align-items:stretch}}
