:root{--brand:#f37a23;--brand-hover:#e0670f;--brand-soft:#fff1e6;--brand-text:#b85410;--color-primary:#111;--color-primary-hover:#2b2b2b;--color-primary-soft:#f37a232e;--color-income:#16a34a;--color-income-soft:#f0fdf4;--color-expense:#dc2626;--color-expense-soft:#fef2f2;--color-warning:#d97706;--color-bg:#f5f5f5;--color-surface:#fff;--color-border:#e4e7ec;--color-text:#101828;--color-text-muted:#667085;--color-overlay:#10182880;--font-sans:"Rethink Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Archivo", "Rethink Sans", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--leading:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--border:1px solid var(--color-border);--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 4px 12px #10182814;--shadow-lg:0 16px 40px #10182829;--ledger-ink:#111;--ledger-ink-2:#262626;--ledger-rule:#ffffff1f;--ledger-page-rule:#ffffff0b;--ledger-text:#f2f2f2;--ledger-muted:#a3a3a3;--ledger-margin:#e8505b;--ledger-income:#3fb98a;--ledger-expense:#f0676b;--paper:#f3f3f3;--chart-income:#0f9f9a;--chart-expense:#e5484d;--sidebar-width:240px;--header-height:60px;--transition:.15s ease}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-4);border-radius:var(--radius-md);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition), border-color var(--transition);white-space:nowrap;border:1px solid #0000;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--sm{height:32px;padding:0 var(--space-3);font-size:var(--text-xs)}.btn--lg{height:44px;padding:0 var(--space-6);font-size:var(--text-base)}.btn--block{width:100%}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--primary{isolation:isolate;position:relative;overflow:hidden}.btn--primary:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff47 46%,#ffffff80 50%,#ffffff47 54%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn--primary:hover:not(:disabled):after,.btn--primary:focus-visible:after{animation:.9s ease-out btn-shimmer}.btn--primary:active:not(:disabled){transform:translateY(1px)}@keyframes btn-shimmer{to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.btn--primary:hover:not(:disabled):after,.btn--primary:focus-visible:after{animation:none}}.btn--secondary{background:var(--color-surface);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-bg)}.btn--ghost{background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-bg)}.btn--danger{background:var(--color-expense);color:#fff}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-weight:var(--weight-medium)}.field__hint{color:var(--color-text-muted);font-size:var(--text-xs)}.field__error{color:var(--color-expense);font-size:var(--text-xs)}.input,.select{width:100%;height:38px;padding:0 var(--space-3);background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);transition:border-color var(--transition), box-shadow var(--transition)}.input:focus,.select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.input--error,.select--error{border-color:var(--color-expense)}.card{background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card__header{padding:var(--space-4) var(--space-5);border-bottom:var(--border);justify-content:space-between;align-items:center;display:flex}.card__title{font-size:var(--text-base);font-weight:var(--weight-semibold)}.card__body{padding:var(--space-5)}.modal-overlay{padding:var(--space-4);background:var(--color-overlay);z-index:100;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);overflow:auto}.modal__header{padding:var(--space-4) var(--space-5);border-bottom:var(--border);justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.modal__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:var(--border);display:flex}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:var(--border)}.table th{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--color-bg)}.table td.is-numeric,.table th.is-numeric{text-align:right;font-variant-numeric:tabular-nums}.table__empty{padding:var(--space-8);text-align:center;color:var(--color-text-muted)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.spinner--lg{border-width:3px;width:36px;height:36px}.loader-center{padding:var(--space-10);place-items:center;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.page-header__title{font-size:var(--text-2xl);font-weight:var(--weight-semibold)}.page-header__subtitle{color:var(--color-text-muted);margin-top:var(--space-1)}.page-header__actions{gap:var(--space-2);display:flex}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid #0000}.alert--error{background:var(--color-expense-soft);color:#991b1b;border-color:#fecaca}.alert--success{background:var(--color-income-soft);color:#166534;border-color:#bbf7d0}.alert--info{background:var(--color-primary-soft);color:#1e40af;border-color:#bfdbfe}.password-input{position:relative}.password-input .input{padding-right:64px}.password-input__toggle{top:50%;right:var(--space-2);padding:var(--space-1) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;position:absolute;transform:translateY(-50%)}.password-input__toggle:hover{color:var(--color-text);background:var(--color-bg)}.loader-center--full{min-height:100vh}.auth{background:var(--paper);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.ledger{color:var(--ledger-text);background-color:var(--ledger-ink);background-image:repeating-linear-gradient(to bottom, transparent 0 43px, var(--ledger-page-rule) 43px 44px);flex-direction:column;padding:clamp(2rem,4vw,3.5rem);display:flex;position:relative;overflow:hidden}.ledger:before{content:"";border-left:1px solid var(--ledger-margin);border-right:1px solid var(--ledger-margin);opacity:.55;transform-origin:top;width:5px;animation:1.1s cubic-bezier(.65,0,.35,1) both margin-draw;position:absolute;top:0;bottom:0;left:clamp(1.25rem,2.6vw,2.25rem)}.ledger__brand{align-items:center;gap:var(--space-3);font-size:var(--text-base);font-weight:var(--weight-semibold);display:flex}.ledger__mark{background:var(--ledger-text);width:34px;height:34px;color:var(--ledger-ink);border-radius:50%;place-items:center;font-weight:800;display:grid}.ledger__headline{letter-spacing:-.035em;max-width:13ch;margin-top:clamp(3rem,10vh,7rem);font-size:clamp(2.5rem,4.6vw,4.25rem);font-weight:800;line-height:1}.ledger__book{padding-top:var(--space-10);max-width:560px;margin-top:auto}.ledger__period{padding-bottom:var(--space-3);color:var(--ledger-muted);font-size:var(--text-sm);border-bottom:1px solid #f2f2f240;justify-content:space-between;display:flex}.ledger__rows{margin:0;padding:0;list-style:none}.ledger__row{align-items:center;gap:var(--space-4);border-bottom:1px solid var(--ledger-rule);grid-template-columns:4.25rem minmax(0,1fr) auto;min-height:56px;animation:.42s cubic-bezier(.2,.7,.2,1) both ledger-write;display:grid}.ledger__date{color:var(--ledger-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.ledger__entry{flex-direction:column;min-width:0;line-height:1.3;display:flex}.ledger__title{white-space:nowrap;text-overflow:ellipsis;font-weight:var(--weight-medium);overflow:hidden}.ledger__category{color:var(--ledger-muted);font-size:var(--text-xs)}.ledger__amount{font-size:var(--text-base);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.ledger__amount.is-income{color:var(--ledger-income)}.ledger__amount.is-expense{color:var(--ledger-expense)}.ledger__total{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding-top:var(--space-5);border-top:3px double #f2f2f273;margin-top:-1px;display:flex}.ledger__total-label{color:var(--ledger-muted)}.ledger__total-value{letter-spacing:-.03em;font-size:clamp(2.25rem,3.6vw,3.25rem);font-weight:800;line-height:1}.ledger__currency{color:var(--ledger-muted);margin-right:.08em;font-weight:500}@keyframes ledger-write{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-10px)}to{opacity:1;clip-path:inset(0);transform:none}}.auth__main{padding:clamp(2rem, 5vw, 4rem) var(--space-6);justify-content:center;align-items:center;display:flex}.auth__form-wrap{gap:var(--space-6);flex-direction:column;width:100%;max-width:380px;display:flex}.auth-heading h1{letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1.1}.auth-heading p{margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-base);max-width:34ch}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth .field__label{font-size:var(--text-sm)}.auth .input{height:48px;padding:0 var(--space-4);font-size:var(--text-base);background:var(--color-surface);border:1px solid #d3d9e3;border-radius:10px}.auth .input:hover{border-color:#b4bfcf}.auth .input:focus{border-color:var(--ledger-ink);box-shadow:0 0 0 3px #1111111f}.auth .input--error{border-color:var(--color-expense)}.auth .password-input .input{padding-right:72px}.auth .btn--primary{background:var(--ledger-ink);height:50px;font-size:var(--text-base);font-weight:var(--weight-semibold);border-radius:10px}.auth .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}.auth a{color:var(--ledger-ink);font-weight:var(--weight-semibold);text-underline-offset:3px;-webkit-text-decoration:underline #11111140;text-decoration:underline #11111140}.auth a:hover{text-decoration-color:currentColor}.auth-row{margin-top:calc(var(--space-2) * -1);justify-content:flex-end;display:flex}.auth-footer{color:var(--color-text-muted)}.auth .alert{border-radius:10px}@media (width<=960px){.auth{grid-template-columns:1fr}.ledger{padding:var(--space-6) var(--space-6) var(--space-6) 3rem}.ledger:before{left:1.25rem}.ledger__headline{margin-top:var(--space-6);max-width:18ch;font-size:2rem}.ledger__book{padding-top:var(--space-6)}.ledger__period,.ledger__rows{display:none}.ledger__total{border-top-width:3px}.auth__main{padding:var(--space-8) var(--space-4) var(--space-10);align-items:flex-start}}.ledger__word{vertical-align:top;margin-right:.22em;padding-bottom:.08em;display:inline-block;overflow:hidden}.ledger__word>span{animation:.76s cubic-bezier(.2,.75,.15,1) both word-rise;display:inline-block}.ledger__row{transition:background-color .2s;position:relative}.ledger__row:after{content:"";background:var(--ledger-text);border-radius:2px;width:3px;height:0;transition:height .22s;position:absolute;top:50%;left:-.75rem;transform:translateY(-50%)}.ledger__row:not(.ledger__row--draft):hover{background-color:#f2f2f20a}.ledger__row:not(.ledger__row--draft):hover:after{height:60%}.ledger__amount{transition:transform .22s}.ledger__row:hover .ledger__amount{transform:translate(-4px)}.ledger__draft{color:var(--ledger-muted);align-items:center;font-style:italic;display:flex}.ledger__caret{background:var(--brand);width:2px;height:1.1em;margin-left:6px;animation:1.05s step-end infinite caret-blink}.ledger__total-value.is-settled{animation:.9s ease-out balance-settle}.auth__form-wrap{animation:.7s cubic-bezier(.2,.7,.2,1) .12s both form-in}.auth__main{isolation:isolate;position:relative;overflow:hidden}.auth__main:before{content:"";z-index:-1;background:radial-gradient(circle,#f37a2324,#0000 65%);border-radius:50%;width:520px;height:520px;animation:18s ease-in-out infinite alternate drift;position:absolute;top:-160px;right:-180px}.auth .field__label{transition:color .16s}.auth .field:focus-within .field__label{color:var(--ledger-ink)}.auth .alert--error{animation:.42s cubic-bezier(.36,.07,.19,.97) both alert-shake}.auth .alert--success{animation:.4s both form-in}@keyframes margin-draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes word-rise{0%{transform:translateY(105%)}to{transform:translateY(0)}}@keyframes caret-blink{50%{opacity:0}}@keyframes balance-settle{0%{text-shadow:0 0 #0000}30%{text-shadow:0 0 28px #f37a2380}to{text-shadow:0 0 #0000}}@keyframes form-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes drift{to{transform:translate(-140px,220px)scale(1.15)}}@keyframes alert-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-5px)}40%,60%{transform:translate(5px)}}@media (width<=960px){.ledger__row--draft,.auth__main:before{display:none}}@media (prefers-reduced-motion:reduce){.ledger:before,.ledger__word>span,.ledger__row,.ledger__caret,.ledger__total-value.is-settled,.auth__form-wrap,.auth__main:before,.auth .alert{animation:none}}.ledger__brand{flex-direction:column;align-items:flex-start;gap:6px}.ledger__logo{width:150px;height:auto;display:block}.ledger__app{color:var(--ledger-muted);font-size:.72rem;font-weight:var(--weight-semibold);letter-spacing:.18em;text-transform:uppercase}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--paper);min-height:100vh;display:grid}.sidebar{height:100vh;padding:var(--space-5) var(--space-4) var(--space-4);color:var(--ledger-text);background-color:var(--ledger-ink);background-image:repeating-linear-gradient(to bottom, transparent 0 43px, var(--ledger-page-rule) 43px 44px);z-index:40;flex-direction:column;display:flex;position:sticky;top:0;overflow:hidden}.sidebar__header{align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-6);margin-bottom:var(--space-2);border-bottom:1px solid #f2f2f21f;display:flex}.sidebar__mark{background:var(--ledger-text);width:34px;height:34px;color:var(--ledger-ink);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;animation:.6s cubic-bezier(.2,.9,.3,1.3) both mark-in;display:grid}.sidebar__name{font-size:var(--text-base);font-weight:var(--weight-semibold);white-space:nowrap}.sidebar__nav{gap:var(--space-5);padding-top:var(--space-3);flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.sidebar__group{flex-direction:column;gap:2px;display:flex}.sidebar__section{padding:0 var(--space-3) var(--space-2);color:var(--ledger-muted);font-size:var(--text-xs)}.sidebar__link{align-items:center;gap:var(--space-3);height:42px;padding:0 var(--space-3);color:#f2f2f2c7;font-weight:var(--weight-medium);border-radius:10px;text-decoration:none;transition:background-color .18s,color .18s;animation:.48s cubic-bezier(.2,.7,.2,1) both nav-in;display:flex;position:relative}.sidebar__link svg{flex-shrink:0;transition:transform .22s}a.sidebar__link:hover{color:var(--ledger-text);background:#f2f2f212}a.sidebar__link:hover svg{transform:translate(2px)}.sidebar__link.active{color:#fff}.sidebar__link{z-index:1}.sidebar__indicator{z-index:0;opacity:0;pointer-events:none;background:#f2f2f21a;border-radius:10px;transition:transform .42s cubic-bezier(.25,1,.3,1),height .42s cubic-bezier(.25,1,.3,1),opacity .2s;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 1px #f2f2f20f}.sidebar__indicator:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;top:50%;left:-1rem;transform:translateY(-50%)}.sidebar__link.active svg{color:var(--brand)}.sidebar__link.is-soon{color:#f2f2f26b;cursor:not-allowed}.sidebar__soon{color:var(--ledger-muted);border:1px solid #f2f2f229;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px}.sidebar__footer{padding-top:var(--space-4);border-top:1px solid #f2f2f21f}.sidebar__logout{align-items:center;gap:var(--space-3);width:100%;height:44px;padding:0 var(--space-3);color:var(--ledger-text);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:1px solid #f2f2f224;border-radius:10px;transition:background-color .18s,border-color .18s,color .18s;display:flex}.sidebar__logout svg{transition:transform .22s}.sidebar__logout:hover:not(:disabled){color:#ffd9da;background:#f0676b1f;border-color:#f0676b73}.sidebar__logout:hover:not(:disabled) svg{transform:translate(-3px)}.sidebar__logout:disabled{opacity:.6;cursor:progress}.sidebar-overlay{display:none}.app-main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:30;align-items:center;gap:var(--space-3);height:68px;padding:0 var(--space-8);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--color-border);background:#f2f4f7d1;display:flex;position:sticky;top:0}.topbar__menu{width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:none}.topbar__menu:hover{background:#1111110f}.topbar__title{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:700;animation:.38s both title-in}.topbar__actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.page-container{width:100%;padding:var(--space-8)}.page-enter{animation:.46s cubic-bezier(.2,.7,.2,1) both page-in}.avatar{background:var(--ledger-ink);color:#fff;width:36px;height:36px;font-size:var(--text-xs);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.avatar--lg{width:44px;height:44px;font-size:var(--text-sm)}.avatar--xl{width:72px;height:72px;font-size:1.5rem}.profile{position:relative}.profile__trigger{align-items:center;gap:var(--space-3);padding:4px var(--space-2) 4px 4px;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;transition:background-color .18s,border-color .18s;display:flex}.profile__trigger:hover,.profile__trigger.is-open{background:var(--color-surface);border-color:var(--color-border)}.profile__trigger .avatar{transition:box-shadow .22s}.profile__trigger:hover .avatar,.profile__trigger.is-open .avatar{box-shadow:0 0 0 3px #f37a2366}.profile__who{flex-direction:column;align-items:flex-start;line-height:1.2;display:flex}.profile__name{font-weight:var(--weight-semibold)}.profile__role{font-size:var(--text-xs);color:var(--color-text-muted)}.profile__chevron{color:var(--color-text-muted);transition:transform .24s cubic-bezier(.2,.8,.2,1)}.profile__trigger.is-open .profile__chevron{transform:rotate(180deg)}.profile__menu{width:272px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);transform-origin:100% 0;border-radius:14px;animation:.2s cubic-bezier(.2,.9,.3,1.15) both menu-in;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px -12px #11111147,0 2px 6px #1111110f}.profile__card{align-items:center;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.profile__card-text{flex-direction:column;min-width:0;display:flex}.profile__card-name{font-weight:var(--weight-semibold)}.profile__card-email{color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile__item{align-items:center;gap:var(--space-3);width:100%;height:40px;padding:0 var(--space-3);color:var(--color-text);font-weight:var(--weight-medium);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;animation:.26s both item-in;display:flex}.profile__item:nth-of-type(2){animation-delay:40ms}.profile__item svg{color:var(--color-text-muted);transition:transform .2s}.profile__item:hover,.profile__item:focus-visible{background:var(--paper);outline:none}.profile__item:hover svg{transform:translate(2px)}.profile__item--danger,.profile__item--danger svg{color:#b42318}.profile__item--danger:hover,.profile__item--danger:focus-visible{background:var(--color-expense-soft)}.dash{gap:var(--space-8);flex-direction:column;display:flex}.dash__date{color:var(--color-text-muted);font-size:var(--text-base)}.dash__greeting{margin-top:var(--space-1);letter-spacing:-.035em;font-size:clamp(2rem,3.6vw,3rem);font-weight:800;line-height:1.05}.rise-word{vertical-align:top;margin-right:.24em;padding-bottom:.08em;display:inline-block;overflow:hidden}.rise-word>span{animation:.72s cubic-bezier(.2,.75,.15,1) both word-rise;display:inline-block}.dash__summary{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stat{gap:var(--space-1);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;transition:transform .24s,box-shadow .24s,border-color .24s;animation:.56s cubic-bezier(.2,.7,.2,1) both card-in;display:flex;position:relative;overflow:hidden}.stat:hover{border-color:#cfd6e1;transform:translateY(-3px);box-shadow:0 14px 30px -16px #11111159}.stat:before{content:"";transform-origin:0;height:3px;animation:.7s .3s both rule-grow;position:absolute;inset:0 0 auto}.stat--income:before{background:var(--ledger-income)}.stat--expense:before{background:var(--ledger-expense)}.stat--balance:before{background:var(--ledger-ink)}.stat__icon{width:40px;height:40px;margin-bottom:var(--space-3);border-radius:12px;place-items:center;display:grid}.stat--income .stat__icon{background:var(--color-income-soft);color:#15803d}.stat--expense .stat__icon{background:var(--color-expense-soft);color:#b91c1c}.stat--balance .stat__icon{color:var(--ledger-ink);background:#11111112}.stat__label{color:var(--color-text-muted)}.stat__value{letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1.15}.stat__note{color:var(--color-text-muted);font-size:var(--text-xs)}.dash__book{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;animation:.56s cubic-bezier(.2,.7,.2,1) both card-in;overflow:hidden}.dash__book-head{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.dash__book-head h3{font-size:var(--text-base);font-weight:700}.dash__empty{padding:var(--space-8) var(--space-6) var(--space-10) 3.25rem;background-image:repeating-linear-gradient(#0000 0 43px,#e6eaf0 43px 44px);position:relative}.dash__empty:before{content:"";border-left:1px solid var(--ledger-margin);border-right:1px solid var(--ledger-margin);opacity:.4;width:4px;position:absolute;top:0;bottom:0;left:1.5rem}.dash__empty-line{font-size:var(--text-lg);align-items:center;font-weight:600;display:inline-flex}.dash__caret{background:var(--brand);width:2px;height:1.15em;margin-left:6px;animation:1.05s step-end infinite caret-blink}.dash__empty p{margin-top:var(--space-2);max-width:52ch;color:var(--color-text-muted)}.account{gap:var(--space-6);flex-direction:column;display:flex}.account__hero{align-items:center;gap:var(--space-5);display:flex}.account__hero .avatar--xl{animation:.6s cubic-bezier(.2,.9,.3,1.3) both mark-in}.account__name{letter-spacing:-.03em;font-size:1.75rem;font-weight:800}.account__role{color:var(--color-text-muted);margin-top:2px}.account__grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.account__devices{grid-column:1/-1}.panel{gap:var(--space-5);padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;animation:.56s cubic-bezier(.2,.7,.2,1) both card-in;display:flex}.panel__head{align-items:center;gap:var(--space-3);color:var(--ledger-ink);display:flex}.panel__head h3{font-size:var(--text-base);color:var(--color-text);font-weight:700}.stack{gap:var(--space-4);flex-direction:column;display:flex}.muted{color:var(--color-text-muted);max-width:64ch}.details{flex-direction:column;margin:0;display:flex}.details__row{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);grid-template-columns:9rem minmax(0,1fr);display:grid}.details__row:last-child{border-bottom:0}.details dt{color:var(--color-text-muted)}.details dd{font-weight:var(--weight-medium);overflow-wrap:anywhere;margin:0}.panel .btn--primary{background:var(--ledger-ink)}.panel .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}@keyframes nav-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes mark-in{0%{opacity:0;transform:scale(.6)rotate(-20deg)}to{opacity:1;transform:none}}@keyframes title-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translateY(16px)scale(.99)}to{opacity:1;transform:none}}@keyframes rule-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:none}}@keyframes item-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:none}}@media (width<=1024px){.dash__summary,.account__grid{grid-template-columns:1fr}}@media (width<=860px){.app-shell{grid-template-columns:1fr}.sidebar{width:min(84vw,300px);transition:transform .32s cubic-bezier(.2,.8,.2,1);position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:0 0 40px #00000040}.sidebar.is-open{transform:none}.sidebar-overlay{z-index:35;opacity:0;pointer-events:none;background:#11111173;transition:opacity .26s;display:block;position:fixed;inset:0}.sidebar-overlay.is-visible{opacity:1;pointer-events:auto}.topbar{padding:0 var(--space-4)}.topbar__menu{display:grid}.profile__who{display:none}.page-container{padding:var(--space-5) var(--space-4)}.details__row{grid-template-columns:1fr;gap:2px}}@media (prefers-reduced-motion:reduce){.sidebar__mark,.sidebar__link,.topbar__title,.page-enter,.profile__menu,.profile__item,.rise-word>span,.stat,.stat:before,.dash__book,.dash__caret,.panel,.account__hero .avatar--xl{animation:none}.sidebar,.stat,.sidebar__indicator{transition:none}}.stat--link{color:inherit;text-decoration:none}.stat__value.is-negative{color:#b42318}.dash__book-head{justify-content:space-between;align-items:center;display:flex}.dash__book-link{color:var(--ledger-ink);font-weight:var(--weight-semibold);font-size:var(--text-sm)}.dash__recent{margin:0;padding:0;list-style:none}.dash__recent-row{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);grid-template-columns:auto minmax(0,1fr) auto;animation:.32s both item-in;display:grid}.dash__recent-row+.dash__recent-row{border-top:1px solid #eef1f5}.dash__recent-row .cat-badge{border-radius:11px;width:40px;height:40px}.dash__recent-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.dash__recent-cat{font-weight:var(--weight-semibold)}.dash__recent-note{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){.dash__recent-row{animation:none}}.dash__book-links{gap:var(--space-4);display:flex}.name-edit{align-items:center;gap:var(--space-2);display:inline-flex}.name-edit__btn{width:30px;height:30px}.name-edit.is-editing{flex-direction:column;align-items:stretch;gap:4px;width:100%;display:flex}.name-edit__row{align-items:center;gap:var(--space-2);display:flex}.name-edit__row .input{height:36px}.account__pw-submit{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.sidebar__header{flex-direction:column;align-items:flex-start;gap:6px}.sidebar__logo{width:136px;height:auto;animation:.6s cubic-bezier(.2,.9,.3,1.3) both mark-in;display:block}.sidebar__name{color:var(--ledger-muted);font-size:.7rem;font-weight:var(--weight-semibold);letter-spacing:.18em;text-transform:uppercase}.icon-btn{width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;transition:background-color .16s,color .16s,transform .16s;display:grid}.icon-btn:hover{color:var(--color-text);background:#1111110f}.icon-btn:active{transform:scale(.92)}.icon-btn--danger:hover{background:var(--color-expense-soft);color:#b42318}.link-btn{color:var(--ledger-ink);font-weight:var(--weight-semibold);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.input-group{align-items:center;display:flex;position:relative}.input-group__icon{left:var(--space-3);color:var(--color-text-muted);pointer-events:none;transition:color .16s;position:absolute}.input-group:focus-within .input-group__icon{color:var(--color-text)}.input--with-icon{padding-left:2.5rem}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1111116b;animation:.2s both overlay-in}.modal{border-radius:18px;max-width:560px;animation:.28s cubic-bezier(.2,.9,.3,1.1) both modal-in;box-shadow:0 30px 70px -20px #11111173}.modal:focus{outline:none}.modal--sm{max-width:440px}.modal__header{align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6)}.modal__title{font-size:var(--text-lg);letter-spacing:-.01em;font-weight:700}.modal__description{color:var(--color-text-muted);margin-top:2px}.modal__body{padding:var(--space-5) var(--space-6)}.modal__footer{padding:var(--space-4) var(--space-6);background:var(--paper);border-radius:0 0 18px 18px}.modal .btn--primary{background:var(--ledger-ink)}.modal .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}.confirm__message{color:var(--color-text-muted)}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.97)}to{opacity:1;transform:none}}.segmented{grid-template-columns:repeat(var(--seg-count), minmax(0, 1fr));isolation:isolate;background:#11111112;border-radius:12px;padding:4px;display:inline-grid;position:relative}.segmented__thumb{z-index:-1;width:calc((100% - 8px) / var(--seg-count));background:var(--color-surface);transform:translateX(calc(100% * var(--seg-index)));border-radius:9px;transition:transform .3s cubic-bezier(.2,.85,.25,1.05);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 1px 3px #11111124,0 1px 1px #1111110f}.segmented__option{justify-content:center;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);color:var(--color-text-muted);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;border-radius:9px;transition:color .2s;display:inline-flex}.segmented__option input{opacity:0;pointer-events:none;position:absolute}.segmented__option.is-active{color:var(--color-text)}.segmented__option:has(input:focus-visible){outline:2px solid var(--ledger-ink);outline-offset:-2px}.segmented__count{min-width:22px;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:center;background:#11111114;border-radius:999px;padding:0 6px}.segmented__option.is-active .segmented__count{background:var(--ledger-ink);color:#fff}.switch{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch__track{background:#cdd4df;border-radius:999px;width:38px;height:22px;transition:background-color .2s;position:relative}.switch__thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .24s cubic-bezier(.2,.85,.25,1.2);position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch input:checked+.switch__track{background:var(--ledger-ink)}.switch input:checked+.switch__track .switch__thumb{transform:translate(16px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--ledger-ink);outline-offset:2px}.switch__label{color:var(--color-text-muted);font-weight:var(--weight-medium);white-space:nowrap}.toasts{right:var(--space-6);bottom:var(--space-6);z-index:200;align-items:flex-end;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);max-width:380px;padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--ledger-ink);color:#fff;pointer-events:auto;border-radius:12px;animation:.32s cubic-bezier(.2,.9,.3,1.15) both toast-in;display:flex;box-shadow:0 14px 34px -12px #1111118c}.toast>svg{flex-shrink:0}.toast--success>svg{color:var(--ledger-income)}.toast--error>svg{color:var(--ledger-expense)}.toast--info>svg{color:var(--ledger-muted)}.toast.is-leaving{animation:.22s both toast-out}.toast__close{width:24px;height:24px;margin-left:var(--space-1);color:var(--ledger-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.toast__close:hover{color:#fff;background:#ffffff1a}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate(16px)}}@media (width<=640px){.toasts{left:var(--space-4);right:var(--space-4);bottom:var(--space-4);align-items:stretch}.toast{max-width:none}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal,.toast,.toast.is-leaving{animation:none}.segmented__thumb,.switch__thumb{transition:none}}.date-field{align-items:center;gap:var(--space-3);width:100%;height:48px;padding:0 var(--space-3) 0 var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer;border-radius:12px;transition:border-color .16s,box-shadow .16s;display:flex}.date-field:hover{border-color:#b6c0d0}.date-field.is-open,.date-field:focus-visible{border-color:var(--ledger-ink);outline:none;box-shadow:0 0 0 3px #1111111a}.date-field.is-invalid{border-color:var(--color-expense)}.date-field__icon{color:var(--ledger-ink);flex-shrink:0}.date-field__text{min-width:0;font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.date-field__text.is-placeholder{color:var(--color-text-muted);font-weight:var(--weight-regular)}.date-field__chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.date-field.is-open .date-field__chevron{transform:rotate(180deg)}.date-field--sm{height:38px;padding:0 var(--space-2) 0 10px;border-radius:9px;gap:6px;font-size:13px}.date-field--sm .date-field__chevron{display:none}.date-field--sm .date-field__text{text-overflow:clip;overflow:visible}.calendar{z-index:300;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);transform-origin:0 0;border-radius:16px;animation:.2s cubic-bezier(.2,.9,.3,1.1) both menu-in;position:fixed;box-shadow:0 24px 50px -16px #1116,0 2px 6px #1111110f}.calendar.is-up{transform-origin:0 100%;animation-name:menu-up}.calendar__head{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.calendar__title{height:34px;padding:0 var(--space-2);color:var(--color-text);font-size:var(--text-base);letter-spacing:-.01em;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;font-weight:800;display:inline-flex}.calendar__title:hover{background:var(--paper)}.calendar__title-icon{color:var(--color-text-muted);transition:transform .22s}.calendar__title-icon.is-open{transform:rotate(180deg)}.calendar__nav{gap:2px;display:flex}.calendar__prev{transform:rotate(90deg)}.calendar__next{transform:rotate(-90deg)}.calendar__weekdays,.calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar__weekdays span{height:28px;color:var(--color-text-muted);font-size:11px;font-weight:var(--weight-semibold);place-items:center;display:grid}.calendar__grid{gap:2px 0}.calendar__body.slide-next{animation:.24s cubic-bezier(.2,.8,.2,1) both cal-next}.calendar__body.slide-prev{animation:.24s cubic-bezier(.2,.8,.2,1) both cal-prev}@keyframes cal-next{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes cal-prev{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}.calendar__day{height:38px;color:var(--color-text);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:10px;margin:0 2px;transition:background-color .12s,color .12s,transform .12s;position:relative}.calendar__day:hover:not(:disabled):not(.is-selected){background:var(--paper)}.calendar__day:active:not(:disabled){transform:scale(.92)}.calendar__day.is-outside{color:#b8c0cc}.calendar__day.is-sunday:not(.is-outside):not(.is-selected){color:#b42318}.calendar__day:disabled{color:#d5dbe3;cursor:not-allowed;-webkit-text-decoration:line-through #00000026;text-decoration:line-through #00000026}.calendar__day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1.5px var(--brand);font-weight:700}.calendar__day.is-selected{background:var(--ledger-ink);color:#fff;font-weight:700;animation:.22s cubic-bezier(.2,.9,.3,1.4) month-pop;box-shadow:0 6px 14px -6px #1119}.calendar__day:focus-visible{outline:2px solid var(--ledger-ink);outline-offset:1px}.calendar__months{padding:var(--space-2) 0;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;animation:.2s both page-in;display:grid}.calendar__month{height:48px;color:var(--color-text);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:0;border-radius:10px}.calendar__month:hover:not(:disabled){background:var(--paper)}.calendar__month.is-selected{background:var(--ledger-ink);color:#fff;font-weight:700}.calendar__month:disabled{color:#d5dbe3;cursor:not-allowed}.calendar__foot{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.calendar__link{height:32px;padding:0 var(--space-3);color:var(--color-text-muted);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;border-radius:8px}.calendar__link:hover:not(:disabled){background:var(--paper);color:var(--color-text)}.calendar__link.is-strong{color:var(--ledger-ink)}.calendar__link:disabled{opacity:.4;cursor:not-allowed}@keyframes menu-up{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.calendar,.calendar__body.slide-next,.calendar__body.slide-prev,.calendar__day.is-selected,.calendar__months{animation:none}}.drawer-root{z-index:90;position:fixed;inset:0}.drawer-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#11111161;animation:.22s both overlay-in;position:absolute;inset:0}.drawer{background:var(--paper);flex-direction:column;width:min(920px,94vw);animation:.34s cubic-bezier(.2,.85,.2,1) both drawer-in;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-30px 0 60px -20px #11111173}.drawer:focus{outline:none}.drawer__head{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex}.drawer__titles{flex:1;min-width:0}.drawer__title{letter-spacing:-.03em;font-size:1.6rem;font-weight:800;line-height:1.1}.drawer__subtitle{color:var(--color-text-muted);margin-top:2px}.drawer__actions{gap:var(--space-2);display:flex}.drawer__body{padding:var(--space-6);flex:1;overflow-y:auto}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-overlay{animation:none}}[data-tip]{position:relative}[data-tip]:before,[data-tip]:after{z-index:30;pointer-events:none;opacity:0;transition:opacity .14s,transform .14s;position:absolute;left:50%;transform:translate(-50%,4px)}[data-tip]:after{content:attr(data-tip);background:var(--ledger-ink);color:#fff;white-space:nowrap;border-radius:7px;padding:6px 10px;font-size:.75rem;font-weight:500;line-height:1.2;bottom:calc(100% + 8px);box-shadow:0 6px 16px #1018282e}[data-tip]:before{content:"";border:5px solid #0000;border-top-color:var(--ledger-ink);border-bottom:0;bottom:calc(100% + 3px)}[data-tip]:hover:before,[data-tip]:hover:after,[data-tip]:focus-visible:before,[data-tip]:focus-visible:after{opacity:1;transition-delay:.25s;transform:translate(-50%)}.user-row__actions [data-tip]:last-child:after{left:auto;right:-4px;transform:translateY(4px)}.user-row__actions [data-tip]:last-child:hover:after,.user-row__actions [data-tip]:last-child:focus-visible:after{transform:translateY(0)}.dropdown{min-width:0;position:relative}.dropdown__trigger{align-items:center;gap:var(--space-2);width:100%;height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;border-radius:10px;transition:border-color .16s,box-shadow .16s;display:flex}.dropdown__trigger:hover{border-color:#b6c0d0}.dropdown__trigger.is-open,.dropdown__trigger:focus-visible{border-color:var(--ledger-ink);outline:none;box-shadow:0 0 0 3px #1111111a}.dropdown__value{min-width:0;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.dropdown__icon{color:var(--color-text-muted);flex:none}.dropdown__chevron{color:var(--color-text-muted);flex:none;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.dropdown__trigger.is-open .dropdown__chevron{transform:rotate(180deg)}.dropdown__avatar{background:var(--ledger-ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.62rem;font-weight:700;display:grid}.dropdown__panel{z-index:25;width:max-content;min-width:100%;max-width:320px;max-height:min(320px,50vh);padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);transform-origin:top;border-radius:12px;animation:.2s cubic-bezier(.2,.9,.3,1.1) both menu-in;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 22px 44px -14px #11111159}.dropdown__panel:focus{outline:none}.dropdown__option{align-items:center;gap:var(--space-2);min-height:36px;padding:6px var(--space-2);font-size:var(--text-sm);cursor:pointer;border-radius:8px;animation:.2s both item-in;display:flex}.dropdown__option.is-active{background:var(--paper)}.dropdown__option.is-selected .dropdown__label{font-weight:700}.dropdown__text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.dropdown__label{font-weight:var(--weight-medium);white-space:nowrap}.dropdown__hint{color:var(--color-text-muted);font-size:var(--text-xs)}.dropdown__check{margin-left:var(--space-2);color:var(--brand);flex:none}.cats{gap:var(--space-6);flex-direction:column;display:flex}.cats__intro{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.cats__title{letter-spacing:-.035em;font-size:2rem;font-weight:800;line-height:1.1}.cats__subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-base)}.cats__intro .btn--primary,.cats__empty .btn--primary{background:var(--ledger-ink);height:42px;padding:0 var(--space-5);border-radius:10px}.cats__intro .btn--primary:hover:not(:disabled),.cats__empty .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}.cats__toolbar{align-items:center;gap:var(--space-4);flex-wrap:wrap;animation:.42s cubic-bezier(.2,.7,.2,1) 60ms both page-in;display:flex}.cats__search{flex:1;min-width:220px;max-width:360px}.cats__search .input{border-radius:12px;height:44px}.cats__toolbar .switch{margin-left:auto}.cats__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:0;padding:0;list-style:none;display:grid}.cat-card{align-items:center;gap:var(--space-4);min-height:84px;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;grid-template-columns:auto minmax(0,1fr);transition:transform .22s,box-shadow .22s,border-color .22s;animation:.46s cubic-bezier(.2,.7,.2,1) both card-in;display:grid;position:relative;overflow:hidden}.cat-card:before{content:"";background:var(--cat-color);border-radius:0 4px 4px 0;width:4px;transition:top .22s,bottom .22s;position:absolute;top:14px;bottom:14px;left:0}.cat-card:hover{border-color:#cfd6e1;transform:translateY(-2px);box-shadow:0 14px 30px -18px #1116}.cat-card:hover:before{top:0;bottom:0}.cat-card.is-archived{background:0 0;border-style:dashed}.cat-card.is-archived .cat-badge{filter:grayscale();opacity:.6}.cat-card.is-archived .cat-card__name{color:var(--color-text-muted)}.cat-card__text{min-width:0}.cat-card__name{align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:700;display:flex;overflow:hidden}.cat-card__flag{border:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;font-weight:var(--weight-medium);border-radius:999px;padding:1px 8px}.cat-card__desc{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.cat-card__name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-card__flag{flex-shrink:0}.cat-card__actions{--actions-bg:var(--color-surface);background:var(--actions-bg);box-shadow:-18px 0 14px -2px var(--actions-bg);opacity:0;pointer-events:none;border-radius:10px;gap:2px;padding:4px;transition:opacity .18s,transform .2s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:50%;right:10px;transform:translate(8px,-50%)}.cat-card.is-archived .cat-card__actions{--actions-bg:var(--paper)}.cat-card:hover .cat-card__actions,.cat-card:focus-within .cat-card__actions{opacity:1;pointer-events:auto;transform:translateY(-50%)}.cat-badge{border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;transition:transform .26s cubic-bezier(.2,.9,.3,1.4);display:grid}.cat-card:hover .cat-badge{transform:rotate(-6deg)scale(1.06)}.cat-badge--lg{border-radius:16px;width:56px;height:56px}.cats__empty{align-items:flex-start;gap:var(--space-3);padding:var(--space-10) var(--space-8) var(--space-10) 4rem;background-color:var(--color-surface);border:1px solid var(--color-border);background-image:repeating-linear-gradient(#0000 0 43px,#e6eaf0 43px 44px);border-radius:18px;flex-direction:column;animation:.52s cubic-bezier(.2,.7,.2,1) both card-in;display:flex;position:relative;overflow:hidden}.cats__empty:before{content:"";border-left:1px solid var(--ledger-margin);border-right:1px solid var(--ledger-margin);opacity:.4;width:4px;position:absolute;top:0;bottom:0;left:2rem}.cats__empty-icon{background:var(--ledger-ink);width:56px;height:56px;color:var(--brand);border-radius:16px;place-items:center;animation:.6s cubic-bezier(.2,.9,.3,1.3) .12s both mark-in;display:grid}.cats__empty h3{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:800}.cats__empty p{max-width:52ch;color:var(--color-text-muted);font-size:var(--text-base)}.cats__empty-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.cats__none{padding:var(--space-8);color:var(--color-text-muted);text-align:center;border:1px dashed #cfd6e1;border-radius:16px;animation:.3s both page-in}.cat-form{gap:var(--space-5);flex-direction:column;display:flex}.cat-form .segmented{width:100%}.cat-form__note{color:var(--color-text-muted)}.cat-form__group{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.cat-form__group legend{margin-bottom:var(--space-2);padding:0}.cat-preview{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--paper);border:1px solid var(--color-border);border-radius:14px;display:flex;position:relative;overflow:hidden}.cat-preview:before{content:"";background:var(--cat-color);width:4px;transition:background-color .24s;position:absolute;top:0;bottom:0;left:0}.cat-preview .cat-badge{transition:background-color .24s,color .24s}.cat-preview__name{font-size:var(--text-lg);font-weight:700;display:block}.cat-preview__type{color:var(--color-text-muted)}.swatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.swatch{cursor:pointer;position:relative}.swatch input{opacity:0;pointer-events:none;position:absolute}.swatch span{border-radius:50%;width:30px;height:30px;transition:transform .2s cubic-bezier(.2,.9,.3,1.4),box-shadow .2s;display:block;box-shadow:inset 0 0 0 2px #ffffff40}.swatch:hover span{transform:scale(1.1)}.swatch.is-selected span{box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px var(--ledger-ink);transform:scale(1.05)}.swatch:has(input:focus-visible) span{outline:2px solid var(--ledger-ink);outline-offset:4px}@media (width<=860px){.cats__toolbar .switch{margin-left:0}.cats__search{flex-basis:100%;order:2;max-width:none}}@media (hover:none),(width<=860px){.cat-card{grid-template-columns:auto minmax(0,1fr) auto}.cat-card__actions{opacity:1;pointer-events:auto;box-shadow:none;background:0 0;padding:0;position:static;transform:none}.cat-card:hover .cat-card__actions{transform:none}}@media (prefers-reduced-motion:reduce){.cats__toolbar,.cat-card,.cats__empty,.cats__empty-icon,.cats__none,.icon-select__panel,.icon-option{animation:none}.cat-card,.cat-badge{transition:none}}.icon-select{position:relative}.icon-select__trigger{align-items:center;gap:var(--space-3);width:100%;height:52px;padding:0 var(--space-3) 0 6px;border:1px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;border-radius:12px;transition:border-color .16s,box-shadow .16s;display:flex}.icon-select__trigger:hover{border-color:#b6c0d0}.icon-select__trigger.is-open,.icon-select__trigger:focus-visible{border-color:var(--ledger-ink);outline:none;box-shadow:0 0 0 3px #1111111a}.icon-select__current{background:var(--paper);width:38px;height:38px;color:var(--ledger-ink);border-radius:9px;place-items:center;display:grid}.icon-select__label{line-height:1.2;font-weight:var(--weight-medium);flex-direction:column;flex:1;display:flex}.icon-select__group{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-regular)}.icon-select__chevron{color:var(--color-text-muted);transition:transform .24s cubic-bezier(.2,.8,.2,1)}.icon-select__trigger.is-open .icon-select__chevron{transform:rotate(180deg)}.icon-select__panel{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);transform-origin:bottom;border-radius:14px;flex-direction:column;animation:.22s cubic-bezier(.2,.9,.3,1.1) both menu-up;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 22px 44px -14px #11111159}.icon-select__search{padding:var(--space-3);border-bottom:1px solid var(--color-border)}.icon-select__search .input{border-radius:10px;height:40px}.icon-select__list{max-height:min(300px,42vh);padding:var(--space-2) var(--space-3) var(--space-3);overflow-y:auto}.icon-select__group-title{padding:var(--space-2) var(--space-1) var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:block}.icon-select__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.icon-select__empty{padding:var(--space-6) var(--space-3);color:var(--color-text-muted);text-align:center}.icon-option{padding:var(--space-2) 4px;cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;transition:background-color .14s;animation:.22s both item-in;display:flex;position:relative}.icon-option__glyph{background:var(--paper);width:38px;height:38px;color:var(--color-text-muted);border-radius:10px;place-items:center;transition:background-color .16s,color .16s,transform .22s cubic-bezier(.2,.9,.3,1.4);display:grid}.icon-option__label{max-width:100%;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.icon-option.is-active{background:var(--paper)}.icon-option.is-active .icon-option__glyph{color:var(--color-text);background:#e3e8ef;transform:scale(1.08)}.icon-option.is-selected .icon-option__glyph{background:var(--ledger-ink);color:#fff}.icon-option.is-selected .icon-option__label{color:var(--color-text);font-weight:var(--weight-semibold)}.icon-option__check{color:var(--brand);position:absolute;top:4px;right:8px}.cat-icon--loading{opacity:.35}.cat-card__link{color:inherit;min-width:0;text-decoration:none;display:inline-flex}.cat-card__link:after{content:"";z-index:1;border-radius:16px;position:absolute;inset:0}.cat-card__link:focus-visible{outline:none}.cat-card:has(.cat-card__link:focus-visible){border-color:var(--ledger-ink);box-shadow:0 0 0 3px #1111112e}.cat-card{cursor:pointer}.cat-card__actions{z-index:2}.cat-card:hover .cat-card__name-text{text-underline-offset:3px;-webkit-text-decoration:underline #1111114d;text-decoration:underline #1111114d}.entries{gap:var(--space-6);flex-direction:column;display:flex}.entries__intro{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.entries__title{letter-spacing:-.035em;font-size:2rem;font-weight:800;line-height:1.1}.entries__subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-base)}.entries__intro .btn--primary,.entries__empty .btn--primary{height:42px;padding:0 var(--space-5);background:var(--ledger-ink);border-radius:10px}.entries__intro .btn--primary:hover:not(:disabled),.entries__empty .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}.entries__filters{z-index:15;align-items:center;gap:var(--space-3);flex-wrap:wrap;animation:.42s cubic-bezier(.2,.7,.2,1) 40ms both page-in;display:flex;position:relative}.entries__category-filter{width:300px;margin-left:auto}.entries__search{flex:1;min-width:260px;max-width:560px}.entries__search .input{border-radius:12px;height:52px}.entries__clear{white-space:nowrap}.period{position:relative}.period__trigger{align-items:center;gap:var(--space-3);min-width:236px;height:52px;padding:0 var(--space-4) 0 18px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:12px;transition:border-color .16s,box-shadow .16s;display:flex}.period__trigger>svg:first-child{color:var(--ledger-ink)}.period__trigger:hover{border-color:#b6c0d0}.period__trigger.is-open{border-color:var(--ledger-ink);box-shadow:0 0 0 3px #1111111a}.period__text{flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;line-height:1.2;display:flex}.period__label{font-weight:var(--weight-semibold);font-size:var(--text-sm);white-space:nowrap}.period__range{color:var(--color-text-muted);letter-spacing:.01em;white-space:nowrap;font-size:12px}.period__chevron{color:var(--color-text-muted);transition:transform .24s cubic-bezier(.2,.8,.2,1)}.period__trigger.is-open .period__chevron{transform:rotate(180deg)}.period__panel{width:600px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);transform-origin:100% 0;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);animation:.2s cubic-bezier(.2,.9,.3,1.1) both menu-in;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 22px 44px -14px #11111159}.period__presets{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.period__preset{height:38px;padding:0 var(--space-3);color:var(--color-text);font-weight:var(--weight-medium);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;animation:.22s both item-in;display:flex}.period__preset:hover{background:var(--paper)}.period__preset.is-selected{color:var(--ledger-ink);font-weight:700}.period__preset svg{color:var(--brand)}.period__custom{gap:var(--space-3);padding:var(--space-3);flex-direction:column;display:flex}.period__dates{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.period__dates label{min-width:0;font-size:var(--text-xs);color:var(--color-text-muted);flex-direction:column;gap:4px;display:flex}.period__dates .input{width:100%;min-width:0;height:38px;font-size:var(--text-sm);padding:0 6px}.period__error{color:var(--color-expense);font-size:var(--text-xs)}.period__custom .btn--primary{background:var(--ledger-ink)}.cat-picker{position:relative}.cat-picker__trigger{align-items:center;gap:var(--space-3);width:100%;height:56px;padding:0 var(--space-3) 0 6px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer;border-radius:12px;transition:border-color .16s,box-shadow .16s;display:flex}.cat-picker--md .cat-picker__trigger{height:52px}.cat-picker--md .cat-badge,.cat-picker--md .cat-picker__empty-badge{border-radius:9px;width:36px;height:36px}.cat-picker__trigger:hover{border-color:#b6c0d0}.cat-picker__trigger.is-open,.cat-picker__trigger:focus-visible{border-color:var(--ledger-ink);outline:none;box-shadow:0 0 0 3px #1111111a}.cat-picker__trigger.is-invalid{border-color:var(--color-expense)}.cat-picker__empty-badge{background:var(--paper);width:44px;height:44px;color:var(--color-text-muted);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.cat-picker__label{min-width:0;font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cat-picker__label.is-placeholder{color:var(--color-text-muted);font-weight:var(--weight-regular)}.cat-picker__chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .24s cubic-bezier(.2,.8,.2,1)}.cat-picker__trigger.is-open .cat-picker__chevron{transform:rotate(180deg)}.cat-picker__panel{z-index:25;background:var(--color-surface);border:1px solid var(--color-border);transform-origin:top;border-radius:14px;min-width:280px;animation:.2s cubic-bezier(.2,.9,.3,1.1) both menu-in;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 22px 44px -14px #11111159}.cat-picker__search{padding:var(--space-3);border-bottom:1px solid var(--color-border)}.cat-picker__search .input{border-radius:10px;height:40px}.cat-picker__list{max-height:min(300px,40vh);padding:var(--space-2);overflow-y:auto}.cat-picker__none{padding:var(--space-5);color:var(--color-text-muted);text-align:center}.cat-option{align-items:center;gap:var(--space-3);padding:6px var(--space-2);cursor:pointer;border-radius:10px;animation:.22s both item-in;display:flex}.cat-option .cat-badge,.cat-option .cat-picker__empty-badge{border-radius:9px;width:36px;height:36px}.cat-option.is-active{background:var(--paper)}.cat-option.is-active .cat-badge{transform:rotate(-6deg)scale(1.06)}.cat-option__text{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.cat-option__name{font-weight:var(--weight-medium)}.cat-option__desc{color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-option.is-selected .cat-option__name{font-weight:700}.cat-option__check{color:var(--brand);flex-shrink:0}.entry-summary{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);animation:.52s cubic-bezier(.2,.7,.2,1) 80ms both card-in;display:grid;position:relative;overflow:hidden}.entry-summary:before{content:"";z-index:1;background:var(--chart-expense);transform-origin:0;height:3px;animation:.7s .3s both rule-grow;position:absolute;inset:0 0 auto}.entry-summary--income:before{background:var(--chart-income)}.entry-summary__total{justify-content:center;gap:var(--space-1);padding:var(--space-6);color:var(--color-text);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;min-height:170px;display:flex}.entry-summary__label{color:var(--color-text-muted);font-weight:var(--weight-medium)}.entry-summary__value{letter-spacing:-.03em;color:var(--ledger-ink);font-size:clamp(2.2rem,3.4vw,3rem);font-weight:800;line-height:1.05}.entry-summary__currency{color:var(--color-text-muted);margin-right:.06em;font-weight:500}.entry-summary__meta{color:var(--color-text-muted);font-size:var(--text-sm);padding-top:var(--space-1)}.entry-summary__breakdown{padding:var(--space-5) var(--space-6);min-width:0}.entry-summary__heading{font-size:var(--text-sm);margin-bottom:var(--space-3);font-weight:700}.entry-summary__none{color:var(--color-text-muted)}.cat-bars{gap:2px var(--space-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.cat-bars>li{animation:.32s both item-in}.cat-bar{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;transition:background-color .16s;display:flex}.cat-bar .cat-badge{border-radius:9px;width:36px;height:36px}.cat-bar:hover,.cat-bar.is-active{background:var(--paper)}.cat-bar.is-active{box-shadow:inset 0 0 0 1px var(--ledger-ink)}.cat-bar__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.cat-bar__row{justify-content:space-between;gap:var(--space-3);display:flex}.cat-bar__name{font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-bar__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.cat-bar__track{background:#edf0f4;border-radius:4px;height:6px;overflow:hidden}.cat-bar__fill{transform-origin:0;border-radius:4px;height:100%;animation:.7s cubic-bezier(.2,.8,.2,1) both rule-grow;display:block}.cat-bar__share{color:var(--color-text-muted);font-size:var(--text-xs)}.cat-bars__rest{padding:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);align-self:center}.entries__list{animation:.52s cubic-bezier(.2,.7,.2,1) .16s both card-in}.entry-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;overflow-x:auto}.entry-table{border-collapse:separate;border-spacing:0;width:100%;min-width:720px}.entry-table .col-date{width:150px}.entry-table .col-category{width:28%}.entry-table .col-amount{width:160px}.entry-table .col-actions{width:96px}.entry-table th,.entry-table td{padding:var(--space-3) var(--space-5);text-align:left;vertical-align:middle}.entry-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.entry-table thead th{z-index:1;background:var(--paper);border-bottom:1px solid var(--color-border);height:48px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;position:sticky;top:0}.entry-table thead th:first-child{border-top-left-radius:17px}.entry-table thead th:last-child{border-top-right-radius:17px}.th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;margin:0 -6px;padding:4px 6px;transition:background-color .14s,color .14s;display:inline-flex}.th-sort:hover{color:var(--color-text);background:#1111110f}.th-sort.is-active{color:var(--ledger-ink)}.th-sort__icon{opacity:.35;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .14s}.th-sort.is-active .th-sort__icon{opacity:1}.th-sort__icon.is-up{transform:rotate(180deg)}.entry-table tbody tr{transition:background-color .16s;animation:.28s both item-in}.entry-table tbody td{border-bottom:1px solid #eef1f5}.entry-table tbody tr:hover{background:#fafbfc}.entry-table tbody tr.is-fresh{animation:2.2s both entry-fresh}@keyframes entry-fresh{0%{background:#3fb98a38}to{background:0 0}}.td-date{white-space:nowrap}.td-date__main{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;display:block}.td-date__sub{color:var(--color-text-muted);font-size:var(--text-xs);display:block}.td-category{align-items:center;gap:var(--space-3);min-width:0;display:flex}.td-category .cat-badge{border-radius:10px;width:36px;height:36px}.entry-table tbody tr:hover .cat-badge{transform:rotate(-6deg)scale(1.05)}.td-category__name{font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-note{max-width:0;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.td-note.is-empty{color:#c4cbd6}.money{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.money.is-expense{color:#b42318}.money.is-income{color:#15803d}.entry-table tbody .money{font-size:var(--text-base)}.entry-table .is-actions{padding-left:0;padding-right:var(--space-4)}.td-actions{opacity:0;justify-content:flex-end;gap:2px;transition:opacity .16s,transform .2s cubic-bezier(.2,.8,.2,1);display:flex;transform:translate(6px)}.entry-table tbody tr:hover .td-actions,.entry-table tbody tr:focus-within .td-actions{opacity:1;transform:none}.entry-table tfoot th,.entry-table tfoot td{padding-top:var(--space-4);padding-bottom:var(--space-4);background:var(--paper);border-top:3px double #cfd6e1}.entry-table tfoot th{color:var(--color-text-muted);font-weight:var(--weight-medium)}.entry-table tfoot .money{font-size:var(--text-lg);font-weight:800}.entry-table tfoot tr>:first-child{border-bottom-left-radius:17px}.entry-table tfoot tr>:last-child{border-bottom-right-radius:17px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.entries__more{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.entries__empty{align-items:flex-start;gap:var(--space-3);padding:var(--space-8) var(--space-6) var(--space-10) 3.25rem;background-color:var(--color-surface);border:1px solid var(--color-border);background-image:repeating-linear-gradient(#0000 0 43px,#e6eaf0 43px 44px);border-radius:18px;flex-direction:column;display:flex;position:relative;overflow:hidden}.entries__empty:before{content:"";border-left:1px solid var(--ledger-margin);border-right:1px solid var(--ledger-margin);opacity:.4;width:4px;position:absolute;top:0;bottom:0;left:1.5rem}.entries__empty-line{font-size:var(--text-lg);align-items:center;font-weight:700;display:inline-flex}.entries__empty p{max-width:56ch;color:var(--color-text-muted)}.entry-form{gap:var(--space-5);flex-direction:column;display:flex}.entry-form__hint{color:var(--color-text-muted)}.amount-input{height:64px;padding:0 var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;align-items:center;transition:border-color .16s,box-shadow .16s;display:flex}.amount-input:focus-within{border-color:var(--ledger-ink);box-shadow:0 0 0 3px #1111111a}.amount-input.is-invalid{border-color:var(--color-expense)}.amount-input__symbol{color:var(--color-text-muted);margin-right:var(--space-2);font-size:1.75rem;font-weight:500}.amount-input__field:focus-visible{outline:none}.amount-input__field{letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;font-size:1.9rem;font-weight:800}.amount-input__field::placeholder{color:#c4cbd6}.amount-input__words{color:var(--color-text-muted);font-size:var(--text-xs)}.date-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.date-row__field{flex:1;min-width:200px}.date-chips{gap:var(--space-2);display:flex}.chip{height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium);cursor:pointer;border-radius:999px;transition:background-color .16s,border-color .16s,color .16s,transform .16s}.chip:hover{border-color:#b6c0d0}.chip:active{transform:scale(.95)}.chip.is-selected{background:var(--ledger-ink);border-color:var(--ledger-ink);color:#fff}.textarea{height:auto;min-height:72px;padding:var(--space-3);resize:vertical;border-radius:10px;line-height:1.45}@media (width<=1024px){.entry-summary{grid-template-columns:1fr}.entry-summary__total{border-right:0;border-bottom:1px solid var(--color-border);min-height:0}}@media (width<=860px){.entries__category-filter,.entries__search{flex-basis:100%;width:100%;max-width:none}.period,.period__trigger{width:100%}}@media (hover:none){.td-actions{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.entries__filters,.period__panel,.period__preset,.cat-picker__panel,.cat-option,.entry-summary,.entry-summary:before,.cat-bars>li,.cat-bar__fill,.entries__list,.entry-table tbody tr,.entry-table tbody tr.is-fresh{animation:none}}.entries__filters .cat-picker__panel{width:auto;min-width:0;left:0;right:0}@media (width<=860px){.entries__category-filter{margin-left:0}.period__panel,.entries__filters .cat-picker__panel{width:auto;left:0;right:0}}.period__col{flex-direction:column;min-width:0;display:flex}.period__section-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted)}.months{gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-left:1px solid var(--color-border);flex-direction:column;display:flex}.months__head{justify-content:space-between;align-items:center;display:flex}.months__year{align-items:center;gap:2px;display:flex}.months__year .icon-btn{width:30px;height:30px}.months__year .icon-btn:disabled{opacity:.3;cursor:not-allowed}.months__prev{transform:rotate(90deg)}.months__next{transform:rotate(-90deg)}.months__year-label{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-weight:800}.months__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 0;display:grid}.months__grid.slide-left{animation:.26s cubic-bezier(.2,.8,.2,1) both months-left}.months__grid.slide-right{animation:.26s cubic-bezier(.2,.8,.2,1) both months-right}@keyframes months-left{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes months-right{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}.month{height:40px;color:var(--color-text);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:0;transition:background-color .14s,color .14s;position:relative}.month:not(:disabled):not(.in-range):hover{background:var(--paper);border-radius:10px}.month:disabled{color:#c4cbd6;cursor:not-allowed}.month.is-current:after{content:"";background:var(--brand);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:6px;left:50%}.month.in-range{background:#11111114}.month.is-start{border-radius:10px 0 0 10px}.month.is-end{border-radius:0 10px 10px 0}.month.is-start.is-end{border-radius:10px}.month.in-range:nth-child(4n){border-top-right-radius:10px;border-bottom-right-radius:10px}.month.in-range:nth-child(4n+1){border-top-left-radius:10px;border-bottom-left-radius:10px}.month.is-edge{background:var(--ledger-ink);color:#fff;animation:.22s cubic-bezier(.2,.9,.3,1.4) month-pop}.month.is-edge.is-current:after{background:#fff}.month:focus-visible{outline:2px solid var(--ledger-ink);outline-offset:-2px;border-radius:10px}@keyframes month-pop{0%{transform:scale(.9)}to{transform:none}}.months__hint{color:var(--color-text-muted);font-size:var(--text-xs);min-height:2.8em;line-height:1.4}.months .btn--primary{background:var(--ledger-ink)}.months .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}@media (width<=860px){.period__panel{grid-template-columns:1fr;width:auto;max-height:75vh;overflow-y:auto}.months{border-left:0;border-top:1px solid var(--color-border);padding:var(--space-3)}}@media (prefers-reduced-motion:reduce){.months__grid.slide-left,.months__grid.slide-right,.month.is-edge{animation:none}}@media (width<=860px){.td-actions{opacity:1;transform:none}}.infinite{justify-content:center;align-items:center;gap:var(--space-2);min-height:56px;padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.infinite__end{align-items:center;gap:var(--space-3);display:inline-flex}.infinite__end:before,.infinite__end:after{content:"";background:#cfd6e1;width:40px;height:1px}.entry-table__loaded{color:var(--color-text-muted);font-weight:var(--weight-regular);font-size:var(--text-xs)}.entries__list-head{margin-bottom:var(--space-3);justify-content:flex-end;display:flex}.view-switch{align-items:center;gap:var(--space-3);display:flex}.view-switch__label{color:var(--color-text-muted);font-size:var(--text-sm)}.view-switch .segmented__option{height:32px;padding:0 var(--space-4)}.notebook{--nb-line:40px;--nb-rule:#c9dcf2;--nb-margin:#e0525a;--nb-ink:#1f3a8a;--nb-red:#c0262d;--nb-paper:#fffefa;background:var(--nb-paper);color:var(--nb-ink);border-radius:6px 14px 14px 6px;font-family:Kalam,Segoe Print,Bradley Hand,cursive;animation:.52s cubic-bezier(.2,.7,.2,1) .12s both card-in;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #1111111f,4px 4px 0 -1px #f4f2ea,4px 4px #dcd8cc,8px 8px 0 -1px #efece2,8px 8px #d6d1c3,0 22px 40px -20px #11111159}.notebook__holes{background:radial-gradient(circle at 22px 20px, #e9edf3 0 6px, #c9cfd9 6.5px 7.5px, transparent 8px) 0 0 / 44px var(--nb-line) repeat-y, linear-gradient(to right, #f6f4ee, var(--nb-paper));border-right:1px dashed #e4e0d4;flex:0 0 44px}.notebook__page{min-width:0;padding-bottom:var(--nb-line);background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--nb-line) - 1px), var(--nb-rule) calc(var(--nb-line) - 1px) var(--nb-line));flex:1;position:relative}.notebook__page:before{content:"";border-left:1.5px solid var(--nb-margin);border-right:1px solid var(--nb-margin);opacity:.75;pointer-events:none;width:4px;position:absolute;top:0;bottom:0;left:96px}.notebook__title{height:calc(var(--nb-line) * 2);padding:0 var(--space-6) 6px 112px;color:var(--nb-ink);align-items:flex-end;font-size:1.6rem;font-weight:700;line-height:1;display:flex}.notebook__lines{margin:0;padding:0;list-style:none}.notebook__row{height:var(--nb-line);grid-template-columns:96px minmax(0,1fr) 168px 72px;align-items:end;padding-bottom:5px;font-size:1.15rem;line-height:1.1;display:grid;position:relative}.notebook__row .nb-date{text-align:right;white-space:nowrap;padding:0 12px 0 14px;font-size:1.02rem}.notebook__row .nb-text{padding:0 var(--space-4) 0 22px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nb-note{opacity:.8}.nb-ditto{text-align:center;width:100%;font-size:1.5rem;line-height:.6;display:inline-block;transform:translateY(4px)}.nb-amt{border-left:1.5px solid var(--nb-rule);font-variant-numeric:tabular-nums;grid-template-columns:1fr 40px;align-self:stretch;align-items:end;display:grid}.nb-rs{text-align:right;padding-right:8px}.nb-ps{border-left:1px solid var(--nb-rule);justify-content:center;align-self:stretch;align-items:flex-end;font-size:.95em;display:flex}.notebook__row--head{color:#3f5a9e;font-size:.95rem;font-weight:700}.notebook__row--head .nb-text{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:1px}.notebook__lines .notebook__row{animation:.62s cubic-bezier(.4,0,.2,1) both nb-write}@keyframes nb-write{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.nb-actions{opacity:0;justify-content:center;align-self:center;gap:2px;padding-top:2px;transition:opacity .16s;display:flex}.notebook__row:hover .nb-actions,.notebook__row:focus-within .nb-actions{opacity:1}.nb-btn{color:#7183ad;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.nb-btn:hover{color:var(--nb-ink);background:#1f3a8a14}.nb-btn.is-danger:hover{color:var(--nb-red);background:#c0262d14}.notebook__lines .notebook__row:hover{background:linear-gradient(#0000 30%,#1f3a8a0a)}.notebook__row.is-fresh:before{content:"";transform-origin:0;z-index:0;background:#ffe2468c;border-radius:4px 10px 6px 12px;height:22px;animation:2.4s both nb-highlight;position:absolute;bottom:6px;left:104px;right:80px}.notebook__row.is-fresh>*{z-index:1;position:relative}@keyframes nb-highlight{0%{opacity:1;transform:scaleX(0)}25%{opacity:1;transform:scaleX(1)}80%{opacity:1}to{opacity:0;transform:scaleX(1)}}.notebook__row--total{color:var(--nb-red);font-weight:700}.notebook__row--total .nb-total-note{color:#8a96b8;font-size:.85rem;font-weight:400}.nb-amt--total{position:relative}.nb-amt--total:after{content:"";border-top:1.5px solid var(--nb-red);border-bottom:1.5px solid var(--nb-red);height:5px;position:absolute;bottom:-9px;left:8px;right:4px}.notebook__row--total:before{content:"";border-top:1.5px solid var(--nb-ink);opacity:.7;width:152px;position:absolute;top:0;right:80px}@media (width<=860px){.notebook__holes{background-size:20px var(--nb-line);background-image:radial-gradient(circle at 10px 20px,#e9edf3 0 4px,#c9cfd9 4.5px 5.5px,#0000 6px);flex-basis:20px}.notebook__page:before{left:64px}.notebook__title{padding-left:76px;font-size:1.3rem}.notebook__row{grid-template-columns:64px minmax(0,1fr) 118px 56px;font-size:1rem}.notebook__row .nb-date{padding:0 6px;font-size:.85rem}.notebook__row .nb-text{padding-left:12px}.nb-amt{grid-template-columns:1fr 30px}.nb-actions{opacity:1}.notebook__row--total:before{width:110px;right:56px}}@media (hover:none){.nb-actions{opacity:1}}@media (prefers-reduced-motion:reduce){.notebook,.notebook__lines .notebook__row,.notebook__row.is-fresh:before{animation:none}}@media print{.entries__list-head{display:none}}.sheet{--sh-grid:#e1e5ea;--sh-head:#f3f4f6;--sh-head-active:#dfe9e3;--sh-accent:#1e7a4c;--sh-text:#1f2328;color:var(--sh-text);background:#fff;border:1px solid #cfd5dd;border-radius:12px;flex-direction:column;font-family:Aptos,Segoe UI,Calibri,Helvetica Neue,Arial,sans-serif;font-size:13.5px;animation:.48s cubic-bezier(.2,.7,.2,1) 80ms both card-in;display:flex;overflow:hidden;box-shadow:0 1px 2px #1111110f}.sheet__formula{background:#fafbfc;border-bottom:1px solid #cfd5dd;align-items:stretch;height:34px;display:flex}.sheet__namebox{font-variant-numeric:tabular-nums;border-right:1px solid #cfd5dd;align-items:center;width:88px;padding:0 10px;font-weight:600;display:flex}.sheet__fx{color:#6b7280;border-right:1px solid #cfd5dd;place-items:center;width:40px;font-family:Georgia,Times New Roman,serif;font-style:italic;display:grid}.sheet__formula-value{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;padding:0 12px;display:flex;overflow:hidden}.sheet__grid{outline:none;max-height:70vh;position:relative;overflow:auto}.sheet__grid:focus-visible{box-shadow:inset 0 0 0 2px #1e7a4c59}.sheet__table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:680px}.sheet__col-gutter{width:48px}.sheet__col-a{width:120px}.sheet__col-b{width:26%}.sheet__col-d{width:150px}.sheet__corner,.sheet__colhead,.sheet__rowhead{background:var(--sh-head);color:#5b6370;text-align:center;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:500}.sheet__corner,.sheet__colhead{z-index:3;border-right:1px solid var(--sh-grid);border-bottom:1px solid #cfd5dd;height:26px;position:sticky;top:0}.sheet__corner{z-index:4;background:linear-gradient(135deg, var(--sh-head) 0 60%, #e4e7eb 60%);left:0}.sheet__rowhead{z-index:2;border-right:1px solid #cfd5dd;border-bottom:1px solid var(--sh-grid);font-variant-numeric:tabular-nums;height:30px;position:sticky;left:0}.sheet__colhead.is-active,.sheet__rowhead.is-active{background:var(--sh-head-active);color:var(--sh-accent);font-weight:700}.sheet__colhead.is-active{box-shadow:inset 0 -2px 0 var(--sh-accent)}.sheet__rowhead.is-active{box-shadow:inset -2px 0 0 var(--sh-accent)}.sheet__cell{border-right:1px solid var(--sh-grid);border-bottom:1px solid var(--sh-grid);white-space:nowrap;text-overflow:ellipsis;cursor:cell;height:30px;padding:0 8px;position:relative;overflow:hidden}.sheet__cell.is-num{text-align:right;font-variant-numeric:tabular-nums}.sheet__cell.is-income{color:#0a6a67}.sheet__cell.is-expense{color:#b42318}.sheet__row.is-row-active .sheet__cell{background:#f6faf8}.sheet__cell.is-selected{z-index:1;box-shadow:inset 0 0 0 2px var(--sh-accent);overflow:visible;background:#fff!important}.sheet__cell.is-selected:after{content:"";background:var(--sh-accent);z-index:2;border:1.5px solid #fff;width:7px;height:7px;position:absolute;bottom:-4px;right:-4px}.sheet__row--titles .sheet__cell{background:#fbfcfd;font-weight:700}.sheet__row--total .sheet__cell{border-top:1px solid #9aa3af;border-bottom:3px double #9aa3af;font-weight:700}.sheet__row--empty .sheet__cell{cursor:default}.sheet__row.is-fresh .sheet__cell{animation:2.2s both sheet-fresh}@keyframes sheet-fresh{0%,30%{background:#e6f4ea}to{background:0 0}}.sheet__footer{background:#f6f7f9;border-top:1px solid #cfd5dd;justify-content:space-between;align-items:stretch;height:34px;font-size:12.5px;display:flex}.sheet__tab{color:var(--sh-accent);box-shadow:inset 0 -2px 0 var(--sh-accent);background:#fff;border-left:1px solid #cfd5dd;border-right:1px solid #cfd5dd;align-items:center;margin-left:48px;padding:0 18px;font-weight:700;display:flex}.sheet__status{align-items:center;gap:var(--space-5);padding:0 var(--space-4);color:#5b6370;font-variant-numeric:tabular-nums;display:flex}.sheet__hint{color:#8b93a0}@media (width<=860px){.sheet__hint{display:none}.sheet__tab{margin-left:0}}@media (prefers-reduced-motion:reduce){.sheet,.sheet__row.is-fresh .sheet__cell{animation:none}}.sheet__row--titles .sheet__cell,.sheet__row--titles .sheet__rowhead{z-index:3;position:sticky;top:0}.sheet__row--titles .sheet__rowhead{z-index:4;left:0}.sheet__row--titles .sheet__cell{background:var(--sh-head);border-bottom:1px solid #cfd5dd}.sheet__row--titles .sheet__cell.is-selected{background:#fff!important}.sheet__footer{justify-content:flex-end}.sheet__namebox{white-space:nowrap;width:auto;min-width:120px}.sheet__export{border-left:1px solid #cfd5dd;align-items:center;gap:6px;padding:0 8px;display:flex}.sheet__export-btn{height:26px;color:var(--sh-text);font:inherit;cursor:pointer;background:#fff;border:1px solid #cfd5dd;border-radius:6px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:600;transition:background-color .14s,border-color .14s;display:inline-flex}.sheet__export-btn:hover:not(:disabled){background:#f3f4f6}.sheet__export-btn.is-primary{background:var(--sh-accent);border-color:var(--sh-accent);color:#fff}.sheet__export-btn.is-primary:hover:not(:disabled){background:#186640}.sheet__export-btn:disabled{opacity:.6;cursor:progress}.sheet__export-btn .spinner{border-width:2px;width:13px;height:13px}.sheet__export-btn.is-primary .spinner{border-color:#fff #fff6 #fff6}.sheet__toolbar{background:#fafbfc;border-bottom:1px solid #cfd5dd;justify-content:flex-end;align-items:center;height:40px;padding:0 8px;display:flex}.sheet__toolbar .sheet__export{border-left:0;padding:0}.sheet__toolbar .sheet__export-btn{height:28px;padding:0 12px}.sheet{overflow:visible}.sheet__grid{max-height:none;overflow:visible}.sheet__toolbar{border-radius:12px 12px 0 0}.sheet__footer{border-radius:0 0 12px 12px}.sheet__row--titles .sheet__cell,.sheet__row--titles .sheet__rowhead{top:68px}@media (width<=860px){.sheet{overflow:hidden}.sheet__grid{overflow-x:auto}.sheet__row--titles .sheet__cell,.sheet__row--titles .sheet__rowhead{top:0}}.sheet__grid{border-radius:0 0 12px 12px}.sheet__row--empty:last-child .sheet__rowhead{border-bottom-left-radius:12px}.sheet__row--empty:last-child .sheet__cell:last-child{border-bottom-right-radius:12px}.sheet__row--empty:last-child>*{border-bottom:0}.sheet__title{cursor:pointer;-webkit-user-select:none;user-select:none}.sheet__title:hover{background:#eef1f5}.sheet__title-inner{align-items:center;gap:4px;display:inline-flex}.sheet__sort-icon{opacity:0;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .14s}.sheet__title:hover .sheet__sort-icon{opacity:.4}.sheet__title.is-sorted .sheet__sort-icon{opacity:1}.sheet__sort-icon.is-up{transform:rotate(180deg)}.nb-sort{appearance:none;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0;transition:background-color .14s;position:relative}.nb-sort:hover{background:#3f5a9e12}.nb-sort:focus-visible{outline-offset:2px;outline:2px solid #3f5a9e}.notebook__row--head .nb-date.nb-sort{justify-content:flex-end;align-self:stretch;align-items:flex-end;gap:3px;padding-bottom:0;display:flex}.notebook__row--head .nb-amt.nb-sort{text-align:inherit;border-radius:0}.nb-amt.nb-sort .nb-sort__icon{position:absolute;bottom:2px;right:76px}.nb-sort__icon{opacity:0;flex:none;transition:transform .2s cubic-bezier(.2,.8,.2,1),opacity .14s}.nb-sort:hover .nb-sort__icon{opacity:.45}.nb-sort.is-active .nb-sort__icon{opacity:1}.nb-sort__icon.is-up{transform:rotate(180deg)}.notebook__title{justify-content:space-between;gap:var(--space-4)}.notebook__title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.nb-download{height:32px;color:var(--nb-ink);font:inherit;cursor:pointer;background:#fff9;border:1.5px solid;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:.95rem;font-weight:700;line-height:1;transition:background-color .14s,transform .16s;display:inline-flex;transform:rotate(-.6deg)}.nb-download:hover:not(:disabled){background:#1f3a8a14;transform:rotate(0)}.nb-download:focus-visible{outline:2px solid var(--nb-ink);outline-offset:2px}.nb-download:disabled{opacity:.6;cursor:progress}.entries__list-head{align-items:center;gap:var(--space-3)}.table-download{height:34px;padding:0 var(--space-4);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;border-radius:10px;align-items:center;gap:6px;margin-right:auto;transition:background-color .14s,border-color .14s,transform .12s;display:inline-flex}.table-download:hover:not(:disabled){background:var(--paper);border-color:#cfd5dd}.table-download:active:not(:disabled){transform:translateY(1px)}.table-download:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.table-download:disabled{opacity:.6;cursor:progress}.reports{gap:var(--space-6);flex-direction:column;display:flex}.reports__intro{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.reports__title{letter-spacing:-.035em;font-size:2rem;font-weight:800;line-height:1.1}.reports__subtitle{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-base)}.reports__actions{z-index:15;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex;position:relative}.reports__actions>.btn{height:52px;padding:0 var(--space-5);border-radius:12px}.reports__actions>.btn--primary{background:var(--ledger-ink)}.reports__actions>.btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}.reports__tiles{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.rtile{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:2px;transition:transform .22s,box-shadow .22s;animation:.52s cubic-bezier(.2,.7,.2,1) both card-in;display:flex;position:relative;overflow:hidden}.rtile:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px #1116}.rtile:before{content:"";transform-origin:0;height:3px;animation:.7s .3s both rule-grow;position:absolute;inset:0 0 auto}.rtile--income:before{background:var(--chart-income)}.rtile--expense:before{background:var(--chart-expense)}.rtile--net:before{background:var(--ledger-ink)}.rtile--neutral:before{background:#c9d1dc}.rtile__icon{width:36px;height:36px;margin-bottom:var(--space-3);background:var(--paper);color:var(--ledger-ink);border-radius:10px;place-items:center;display:grid}.rtile--income .rtile__icon{color:#0a6a67;background:#e2f5f4}.rtile--expense .rtile__icon{background:var(--color-expense-soft);color:#b42318}.rtile__label{color:var(--color-text-muted)}.rtile__value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.4rem,2vw,1.85rem);font-weight:800;line-height:1.2}.rtile__value.is-negative{color:#b42318}.rtile__note{color:var(--color-text-muted);font-size:var(--text-xs)}.report-card{gap:var(--space-4);padding:var(--space-5) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;animation:.52s cubic-bezier(.2,.7,.2,1) .16s both card-in;display:flex}.report-card__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.report-card__title{font-size:var(--text-base);font-weight:700}.report-card__hint{color:var(--color-text-muted);font-size:var(--text-xs)}.report-card__empty{color:var(--color-text-muted);padding:var(--space-4) 0}.reports__breakdowns{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.mchart{gap:var(--space-3);flex-direction:column;display:flex}.mchart__legend{gap:var(--space-5);color:var(--color-text);font-size:var(--text-sm);display:flex}.mchart__key{align-items:center;gap:var(--space-2);display:inline-flex}.mchart__swatch{border-radius:3px;flex-shrink:0;width:12px;height:12px;display:inline-block}.mchart__swatch.is-income{background:var(--chart-income)}.mchart__swatch.is-expense{background:var(--chart-expense)}.mchart__plot{width:100%;min-height:300px;position:relative}.mchart__plot svg{display:block;overflow:visible}.mchart__grid{stroke:#eef1f5;stroke-width:1px}.mchart__grid.is-base{stroke:#cfd6e1}.mchart__ylabel,.mchart__xlabel,.mchart__year{fill:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:11px}.mchart__xlabel.is-current{fill:var(--color-text);font-weight:700}.mchart__year{opacity:.8;font-size:10px}.mchart__band{fill:#1111110d}.mchart__bar{transform-box:fill-box;transform-origin:bottom;transition:opacity .16s;animation:.62s cubic-bezier(.2,.8,.2,1) both bar-grow}.mchart__bar.is-income{fill:var(--chart-income)}.mchart__bar.is-expense{fill:var(--chart-expense)}.mchart__plot:hover .mchart__group:not(.is-hover) .mchart__bar,.mchart__group.is-future .mchart__xlabel{opacity:.45}.mchart__group rect[tabindex]:focus-visible{outline:none}.mchart__group:has(rect[tabindex]:focus-visible) .mchart__band{fill:#1111111a}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.mchart__tip{z-index:5;min-width:190px;padding:var(--space-3) var(--space-4);background:var(--ledger-ink);color:#fff;font-size:var(--text-sm);pointer-events:none;border-radius:12px;flex-direction:column;gap:4px;animation:.14s both tip-in;display:flex;position:absolute;transform:translate(14px,-100%);box-shadow:0 16px 34px -14px #1119}.mchart__tip.is-left{transform:translate(calc(-100% - 14px),-100%)}.mchart__tip-title{margin-bottom:2px;font-weight:700}.mchart__tip-row{align-items:center;gap:var(--space-2);color:#f2f2f2d9;display:flex}.mchart__tip-row b{color:#fff;font-variant-numeric:tabular-nums;margin-left:auto}.mchart__tip-row.is-net{border-top:1px solid #f2f2f22e;margin-top:2px;padding-top:6px}.mchart__tip-row b.is-negative{color:#ff9b9e}.mchart__tip-count{color:var(--ledger-muted);font-size:var(--text-xs)}@keyframes tip-in{0%{opacity:0}to{opacity:1}}.rank{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.rank>li{animation:.32s both item-in}.rank__row{align-items:center;gap:var(--space-3);padding:var(--space-2);margin:0 calc(var(--space-2) * -1);color:var(--color-text);border-radius:12px;text-decoration:none;transition:background-color .16s;display:flex}.rank__row:hover{background:var(--paper)}.rank__row:hover .cat-badge{transform:rotate(-6deg)scale(1.05)}.rank__pos{width:18px;color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right}.rank__row .cat-badge{border-radius:10px;width:38px;height:38px}.rank__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.rank__line{justify-content:space-between;gap:var(--space-3);display:flex}.rank__name{font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank__amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.rank__track{background:#edf0f4;border-radius:4px;height:6px;overflow:hidden}.rank__fill{transform-origin:0;border-radius:4px;height:100%;animation:.7s cubic-bezier(.2,.8,.2,1) both rule-grow;display:block}.rank__meta{color:var(--color-text-muted);font-size:var(--text-xs)}.mtable-wrap{margin:0 calc(var(--space-6) * -1) calc(var(--space-5) * -1);overflow-x:auto}.mtable{border-collapse:collapse;width:100%;min-width:560px}.mtable th,.mtable td{padding:var(--space-3) var(--space-6);text-align:left;border-bottom:1px solid #eef1f5}.mtable thead th{background:var(--paper);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-bottom-color:var(--color-border)}.mtable tbody th{font-weight:var(--weight-semibold)}.mtable .is-num{text-align:right;font-variant-numeric:tabular-nums}.mtable tbody tr{transition:background-color .14s}.mtable tbody tr:hover{background:#fafbfc}.mtable tbody tr.is-empty{color:#b8c0cc}.mtable tbody tr.is-empty .money{color:#b8c0cc;font-weight:var(--weight-regular)}.mtable tfoot th,.mtable tfoot td{background:var(--paper);border-top:3px double #cfd6e1;border-bottom:0;font-weight:800}.mtable tfoot tr>:first-child{border-bottom-left-radius:17px}.mtable tfoot tr>:last-child{border-bottom-right-radius:17px}@media (width<=1280px){.reports__tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=960px){.reports__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.reports__breakdowns{grid-template-columns:1fr}}@media (width<=860px){.reports__actions{width:100%}.reports__actions>.btn{flex:1}.reports__actions .period{flex-basis:100%}}@media (prefers-reduced-motion:reduce){.rtile,.rtile:before,.report-card,.mchart__bar,.mchart__tip,.rank>li,.rank__fill{animation:none}}@media print{@page{margin:14mm}body{background:#fff}.sidebar,.sidebar-overlay,.topbar,.no-print,.toasts,.report-card__hint{display:none!important}.app-shell{display:block}.page-container{padding:0}.reports{gap:14px}.reports__tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.rtile,.report-card{break-inside:avoid;box-shadow:none!important;animation:none!important}.rtile:before,.mchart__bar,.rank__fill,.rank>li{animation:none!important}.reports__breakdowns{grid-template-columns:1fr 1fr}.mchart__tip{display:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.mtable tbody tr.is-clickable{cursor:pointer}.mtable tbody tr.is-clickable:hover{background:#f3f6fa}.mtable tbody tr.is-open{background:#1111110f}.mtable__month{color:inherit;font:inherit;font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.mtable__go{opacity:0;transition:opacity .16s,transform .2s;transform:rotate(-90deg)}.mtable tbody tr:hover .mtable__go,.mtable__month:focus-visible .mtable__go{opacity:.7;transform:rotate(-90deg)translateY(3px)}.mtable__month:focus-visible{outline:2px solid var(--ledger-ink);outline-offset:3px;border-radius:4px}.mchart__tip-hint{color:var(--brand);font-size:var(--text-xs);margin-top:2px}.month-detail{gap:var(--space-5);flex-direction:column;display:flex}.month__stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.month__stat{padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:2px;animation:.42s cubic-bezier(.2,.7,.2,1) both card-in;display:flex;position:relative;overflow:hidden}.month__stat:nth-child(2){animation-delay:60ms}.month__stat:nth-child(3){animation-delay:.12s}.month__stat:before{content:"";height:3px;position:absolute;inset:0 0 auto}.month__stat.is-income:before{background:var(--chart-income)}.month__stat.is-expense:before{background:var(--chart-expense)}.month__stat.is-net:before{background:var(--ledger-ink)}.month__stat span{color:var(--color-text-muted)}.month__stat b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800}.month__stat.is-income b{color:#0a6a67}.month__stat.is-expense b,.month__stat.is-net.is-negative b{color:#b42318}.month__stat small{color:var(--color-text-muted);font-size:var(--text-xs)}.month__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.month__actions .btn{border-radius:10px;height:38px}.month__actions .btn--primary{background:var(--ledger-ink)}.month__actions .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}.month__links{gap:var(--space-4);font-size:var(--text-sm);margin-left:auto;display:flex}.month__links a{color:var(--ledger-ink);font-weight:var(--weight-semibold)}.month-detail .segmented{align-self:flex-start}.month-detail .entry-table{min-width:640px}.month__empty{padding:var(--space-8);color:var(--color-text-muted);text-align:center;border:1px dashed #cfd6e1;border-radius:16px}@media (width<=720px){.month__stats{grid-template-columns:1fr}.month__links{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.month__stat{animation:none}}@media print{.drawer-root{display:none!important}}.mchart__top{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.mchart__top .segmented__option{height:32px;padding:0 var(--space-3)}.mchart__frame{width:100%;min-height:300px;display:flex;position:relative}.mchart__axis{flex-shrink:0;overflow:visible}.mchart__scroll{flex:1;min-width:0;padding-bottom:4px;position:relative;overflow:auto visible}.mchart__scroll.is-scrolling{scroll-behavior:smooth}.mchart__canvas{position:relative}.mchart__canvas svg{display:block;overflow:visible}.mchart__scroll-hint{margin-top:calc(var(--space-2) * -1);color:var(--color-text-muted);font-size:var(--text-xs);text-align:right}.users{gap:var(--space-6);flex-direction:column;display:flex}.users .cats__intro .btn--primary{background:var(--ledger-ink);height:42px;padding:0 var(--space-5);border-radius:10px}.users .cats__intro .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}.user-table{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;overflow:hidden}.user-list{margin:0;padding:0;list-style:none}.user-row.user-row--head{background:var(--paper);border-bottom:1px solid var(--color-border);height:48px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;padding-top:0;padding-bottom:0;animation:none}.user-row.user-row--head:hover{background:var(--paper)}.user-row__head-user{grid-column:1/3}.user-row__head-actions{text-align:right;padding-right:6px}.user-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid #eef1f5;grid-template-columns:44px minmax(0,1fr) 120px minmax(0,200px) 160px;transition:background-color .16s;animation:.28s both item-in;display:grid}.user-row:last-child{border-bottom:0}.user-row:hover{background:#fafbfc}.user-row.is-off .user-row__who,.user-row.is-off .user-row__avatar,.user-row.is-off .role-badge{opacity:.5}.user-row__avatar{width:40px;height:40px;color:var(--color-text);font-size:var(--text-sm);background:#eef1f5;border-radius:50%;place-items:center;font-weight:700;display:grid}.user-row__avatar.is-super_admin{background:var(--ledger-ink);color:#fff}.user-row__who{flex-direction:column;min-width:0;display:flex}.user-row__name{align-items:center;gap:var(--space-2);font-weight:600;display:flex}.user-row__email{color:var(--color-text-muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-row__meta{color:var(--color-text-muted);font-size:var(--text-sm)}.user-row__off{color:#b42318;font-weight:500}.user-row__actions{justify-content:flex-end;gap:2px;display:flex}.role-badge{font-size:var(--text-xs);white-space:nowrap;color:#475467;background:#f2f4f7;border-radius:999px;justify-self:start;padding:3px 10px;font-weight:600}.role-badge.is-accountant{color:#1d4ed8;background:#e8f1fd}.role-badge.is-admin{color:#0a6a67;background:#e6f6f5}.role-badge.is-super_admin{background:var(--ledger-ink);color:#fff}@media (width<=760px){.user-row{row-gap:var(--space-2);grid-template-columns:40px minmax(0,1fr) auto}.user-row .role-badge{grid-area:2/2}.user-row__meta{grid-area:3/2/auto/-1}.user-row__actions{grid-area:1/3}.user-row.user-row--head{display:none}}.user-form{gap:var(--space-4);flex-direction:column;display:flex}.user-form__group{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.user-form__access{gap:var(--space-1);flex-direction:column;display:flex}.role-picker{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.role-option{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);cursor:pointer;border-radius:12px;transition:border-color .14s,background-color .14s,box-shadow .14s;display:flex;position:relative}.role-option:hover{border-color:#cfd5dd}.role-option input{opacity:0;pointer-events:none;position:absolute}.role-option__dot{border:1.5px solid #c4cad4;border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px;transition:border .14s}.role-option.is-selected{border-color:var(--ledger-ink);box-shadow:0 0 0 1px var(--ledger-ink);background:#f8f9fb}.role-option.is-selected .role-option__dot{border:5px solid var(--ledger-ink)}.role-option:has(input:focus-visible){outline:2px solid var(--ledger-ink);outline-offset:2px}.role-option.is-disabled{cursor:not-allowed;opacity:.6}.role-option__text{flex-direction:column;gap:2px;display:flex}.role-option__name{font-weight:600;font-size:var(--text-sm)}.role-option__desc{color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.4}@media (width<=520px){.role-picker{grid-template-columns:1fr}}.users__empty{align-items:flex-start;gap:var(--space-3);padding:var(--space-8) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;flex-direction:column;display:flex}.users__empty h3{font-size:var(--text-lg);font-weight:700}.users__empty p{max-width:52ch;color:var(--color-text-muted)}.users__empty-icon{background:var(--ledger-ink);width:56px;height:56px;color:var(--brand);border-radius:14px;place-items:center;display:grid}.users__empty .btn--primary{background:var(--ledger-ink);height:42px;padding:0 var(--space-5);border-radius:10px}.users__empty .btn--primary:hover:not(:disabled){background:var(--ledger-ink-2)}.pw-gen{gap:var(--space-2);display:flex}.pw-gen__input{letter-spacing:.02em;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.pw-gen__btn{height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--text-sm);cursor:pointer;border-radius:10px;flex:none;font-weight:600;transition:background-color .14s,border-color .14s}.pw-gen__btn:hover:not(:disabled){background:var(--paper);border-color:#cfd5dd}.pw-gen__btn:disabled{opacity:.5;cursor:not-allowed}.pw-gen__btn:focus-visible{outline:2px solid var(--ledger-ink);outline-offset:2px}.signin-details{align-items:flex-start;gap:var(--space-4);flex-direction:column;display:flex}.signin-details__icon{color:#15803d;background:#e7f6ec;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.signin-details__intro{color:var(--color-text-muted)}.signin-details__list{border:1px solid var(--color-border);background:var(--paper);border-radius:12px;width:100%;margin:0}.signin-details__list>div{gap:var(--space-3);padding:var(--space-3) var(--space-4);grid-template-columns:84px minmax(0,1fr);display:grid}.signin-details__list>div+div{border-top:1px solid var(--color-border)}.signin-details__list dt{color:var(--color-text-muted);font-size:var(--text-sm)}.signin-details__list dd{overflow-wrap:anywhere;margin:0;font-weight:600}.signin-details__list dd.is-mono{letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.signin-details__note{color:var(--color-text-muted);font-size:var(--text-xs)}.user-row__activate{color:#15803d}.user-row__activate:hover:not(:disabled){color:#15803d;background:#e7f6ec}.user-row__actions .icon-btn{color:#475467}.user-table{overflow:visible}.user-row.user-row--head{border-radius:17px 17px 0 0}.user-list>.user-row:last-child{border-radius:0 0 17px 17px}.activity{gap:var(--space-5);flex-direction:column;display:flex}.activity__filters{gap:var(--space-3);grid-template-columns:minmax(220px,2fr) repeat(4,minmax(140px,1fr)) auto;align-items:center;display:grid}.activity__clear{white-space:nowrap}@media (width<=1100px){.activity__filters{grid-template-columns:repeat(2,minmax(0,1fr))}.activity__search{grid-column:1/-1}}.activity__day{gap:var(--space-2);flex-direction:column;display:flex}.activity__day-title{z-index:2;background:var(--paper);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:999px;align-self:flex-start;padding:4px 12px;position:sticky;top:68px}.activity__list{padding:var(--space-2) 0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;margin:0;list-style:none}.activity-row{--tone:#667085;--tone-soft:#f2f4f7;gap:var(--space-3);padding:var(--space-3) var(--space-5);grid-template-columns:76px 32px minmax(0,1fr);animation:.26s both item-in;display:grid;position:relative}.activity-row+.activity-row:before{content:"";top:-12px;left:calc(var(--space-5) + 76px + var(--space-3) + 15px);border-left:2px solid #eef1f5;height:26px;position:absolute}.activity-row.is-add{--tone:#15803d;--tone-soft:#e7f6ec}.activity-row.is-edit{--tone:#1d4ed8;--tone-soft:#e8f1fd}.activity-row.is-remove{--tone:#b42318;--tone-soft:#fdecea}.activity-row.is-warn{--tone:#b45309;--tone-soft:#fdf3e2}.activity-row.is-key{--tone:#6d28d9;--tone-soft:#f1ebfd}.activity-row__time{color:var(--color-text-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding-top:7px}.activity-row__icon{z-index:1;background:var(--tone-soft);width:32px;height:32px;color:var(--tone);border-radius:50%;place-items:center;display:grid;position:relative}.activity-row__body{flex-direction:column;gap:6px;min-width:0;padding-top:4px;display:flex}.activity-row__line{align-items:center;gap:4px var(--space-2);flex-wrap:wrap;display:flex}.activity-row__who{align-items:center;gap:6px;display:inline-flex}.activity-row__avatar{background:var(--ledger-ink);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.62rem;font-weight:700;display:grid}.activity-row__role{color:var(--color-text-muted);background:#f2f4f7;border-radius:999px;padding:1px 7px;font-size:.68rem;font-weight:600}.activity-row__summary{color:var(--color-text)}.activity-row__note{color:var(--color-text-muted);font-size:var(--text-sm);font-style:italic}.activity-row__meta{color:var(--color-text-muted);font-size:var(--text-xs)}.activity-row__changes{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);background:#f8f9fb;border:1px solid #eef1f5;border-radius:10px;flex-direction:column;gap:4px;margin:0;list-style:none;display:flex}.activity-row__changes li{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.activity-row__field{min-width:84px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:600}.activity-row__changes del{color:#b42318;text-decoration-thickness:1px}.activity-row__changes ins{color:#15803d;font-weight:600;text-decoration:none}.activity__empty{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);color:var(--color-text-muted);border-radius:18px;flex-direction:column;display:flex}.activity__empty h3{color:var(--color-text);font-size:var(--text-lg);font-weight:700}.activity__more{padding:var(--space-3);justify-content:center;display:flex}.activity__end{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}@media (width<=640px){.activity-row{padding:var(--space-3) var(--space-4);grid-template-columns:32px minmax(0,1fr)}.activity-row__time{text-align:left;grid-area:2/2;padding:0}.activity-row+.activity-row:before{display:none}}.activity__filters .input{border-radius:10px;height:40px}.dash__empty,.entries__empty,.cats__empty{--rule:44px;background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--rule) - 12px), #e3e8ef calc(var(--rule) - 12px) calc(var(--rule) - 11px), transparent calc(var(--rule) - 11px) var(--rule));padding-top:0;padding-bottom:var(--rule);line-height:var(--rule);gap:0}.dash__empty>*,.entries__empty>*,.cats__empty>*{line-height:var(--rule);margin:0}.dash__empty-line,.entries__empty-line{height:var(--rule);align-items:center;display:flex}.dash__empty-line .dash__caret,.entries__empty-line .dash__caret{align-self:center;transform:translateY(1px)}.dash__empty p,.entries__empty p,.cats__empty p{line-height:var(--rule);margin:0}.cats__empty-icon{margin:16px 0!important}.cats__empty-actions{height:var(--rule);align-items:center;margin-top:var(--rule)!important}.cats__empty .btn,.entries__empty>.btn{height:40px!important}.entries__empty>.btn{margin:calc(var(--rule) + 2px) 0 2px!important}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,.cats__title,.dash__greeting,.account__name,.ledger__headline,.stat__value,.entry-summary__total{font-family:var(--font-display)}a{color:var(--color-primary);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#1111113d;background-clip:padding-box;border:3px solid #0000;border-radius:999px;min-height:40px}::-webkit-scrollbar-thumb:hover{background-color:#11111161}::-webkit-scrollbar-thumb:active{background-color:var(--ledger-ink)}::-webkit-scrollbar-corner{background:0 0}.cat-picker__list::-webkit-scrollbar{width:10px}.icon-select__list::-webkit-scrollbar{width:10px}.modal::-webkit-scrollbar{width:10px}.sidebar__nav::-webkit-scrollbar{width:10px}.cat-picker__list::-webkit-scrollbar-thumb{background-color:#1111113d;border-width:3px}.icon-select__list::-webkit-scrollbar-thumb{background-color:#1111113d;border-width:3px}.modal::-webkit-scrollbar-thumb{background-color:#1111113d;border-width:3px}.cat-picker__list:hover::-webkit-scrollbar-thumb{background-color:#11111161}.icon-select__list:hover::-webkit-scrollbar-thumb{background-color:#11111161}.modal:hover::-webkit-scrollbar-thumb{background-color:#11111161}.cat-picker__list::-webkit-scrollbar-thumb:hover{background-color:#1119}.icon-select__list::-webkit-scrollbar-thumb:hover{background-color:#1119}.modal::-webkit-scrollbar-thumb:hover{background-color:#1119}.sidebar__nav::-webkit-scrollbar-thumb{background-color:#f2f2f229}.sidebar__nav::-webkit-scrollbar-thumb:hover{background-color:#f2f2f252}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:#1111114d transparent}.sidebar__nav{scrollbar-color:#f2f2f240 transparent}}
