/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#17211f;--muted:#687471;--line:#e4e9e7;--canvas:#f4f6f4;--panel:#fff;--green:#167c68;--green-dark:#105e50;--green-soft:#e8f5f0;--blue:#2563eb;--blue-soft:#eaf1ff;--amber:#b7791f;--amber-soft:#fff5dc;--red:#c64747;--red-soft:#fff0ef;--sidebar:#111a18}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{background:var(--canvas);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,select{cursor:pointer}.app-shell{min-height:100vh}.sidebar{z-index:40;color:#dbe5e2;background:radial-gradient(circle at 18% 8%, #34977e21, transparent 25%), var(--sidebar);flex-direction:column;width:250px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 9px 29px;display:flex}.brand-mark{color:#fff;background:#1b8b74;border:1px solid #ffffff1c;border-radius:11px;place-items:center;width:38px;height:38px;font-size:20px;font-weight:750;display:grid;overflow:hidden;box-shadow:0 8px 22px #167c6847}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand>div:last-child{gap:1px;display:grid}.brand strong{color:#fff;letter-spacing:.11em;font-size:15px}.brand span{color:#8fa29d;letter-spacing:.03em;font-size:12px}.side-nav{gap:5px;display:grid}.nav-item{color:#8fa29d;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:12px;width:100%;min-height:45px;padding:0 13px;font-size:13.5px;transition:all .18s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0e}.nav-item.active{color:#fff;background:#2b93792e;box-shadow:inset 3px 0 #37a98c}.nav-count{color:#b9cac5;background:#ffffff14;border-radius:7px;place-items:center;min-width:22px;height:20px;margin-left:auto;font-size:10px;font-weight:700;display:grid}.side-bottom{gap:18px;margin-top:auto;display:grid}.health-card{background:#ffffff09;border:1px solid #ffffff12;border-radius:13px;grid-template-columns:32px 1fr 35px;align-items:center;gap:10px;padding:13px;display:grid}.health-icon{color:#54c6a9;background:#37a98c1f;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.health-card>div:nth-child(2){gap:2px;display:grid}.health-card span{color:#7f928d;font-size:10px}.health-card strong{color:#eaf2f0;font-size:12px}.health-score{color:#bfe6dc;border:2px solid #2b987d;border-radius:50%;place-items:center;width:34px;height:34px;font-size:10px;font-weight:700;display:grid}.profile{grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:0 5px;display:grid}.profile-avatar{color:#0e5e50;background:#bce6dc;border-radius:11px;place-items:center;width:36px;height:36px;font-size:11px;font-weight:750;display:grid}.profile>div:nth-child(2){gap:2px;min-width:0;display:grid}.profile strong{color:#edf4f2;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.profile span{color:#81938e;font-size:10px}.profile>svg{color:#687a75}.profile-logout{color:#687a75;background:0 0;border:0;border-radius:9px;place-items:center;width:32px;height:32px;transition:all .16s;display:grid}.profile-logout:hover{color:#fff;background:#ffffff14}.auth-page{background:#f2f5f4;grid-template-columns:minmax(420px,1.08fr) minmax(440px,.92fr);min-height:100dvh;display:grid}.auth-visual{color:#fff;background:linear-gradient(145deg,#080f0ee0,#0c221ef5),url(/brand-g.png) 50%/cover;flex-direction:column;min-height:100dvh;padding:48px clamp(40px,6vw,90px);display:flex;position:relative;overflow:hidden}.auth-visual:after{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}.auth-visual-glow{filter:blur(120px);background:#1f977c33;border-radius:50%;width:520px;height:520px;position:absolute;top:24%;left:10%}.auth-brand-large,.auth-visual-copy{z-index:1;position:relative}.auth-brand-large{align-items:center;gap:14px;display:flex}.auth-brand-large img{border-radius:15px;width:54px;height:54px;box-shadow:0 12px 28px #00000047}.auth-brand-large>div{gap:2px;display:grid}.auth-brand-large strong{letter-spacing:.18em;font-size:18px}.auth-brand-large span{color:#8fa9a2;letter-spacing:.28em;font-size:11px}.auth-visual-copy{max-width:650px;margin:auto 0}.auth-kicker,.auth-step{color:#42bb9c;letter-spacing:.2em;font-size:11px;font-weight:800}.auth-visual-copy h1{letter-spacing:-.05em;max-width:620px;margin:22px 0 20px;font-size:clamp(40px,4.8vw,70px);line-height:.98}.auth-visual-copy p{color:#b6c7c2;max-width:560px;margin:0;font-size:16px;line-height:1.75}.auth-panel{place-items:center;min-height:100dvh;padding:44px clamp(28px,6vw,88px);display:grid}.auth-card{width:100%;max-width:460px}.auth-mobile-brand{display:none}.auth-heading{margin-bottom:30px}.auth-heading h2{letter-spacing:-.04em;margin:12px 0 10px;font-size:clamp(28px,3vw,40px);line-height:1.08}.auth-heading p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.auth-form{gap:17px;display:grid}.auth-form label{color:#35413e;gap:8px;font-size:12px;font-weight:650;display:grid}.auth-input{color:#84918d;background:#fff;border:1px solid #dbe3e0;border-radius:12px;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;min-height:52px;padding:0 14px;transition:all .16s;display:grid;box-shadow:0 7px 22px #1d2f2a09}.auth-input:focus-within{border-color:#30977e;box-shadow:0 0 0 3px #30977e1f}.auth-input input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px}.auth-input input::placeholder{color:#a5afac}.password-toggle{color:#84918d;background:0 0;border:0;place-items:center;padding:5px;display:grid}.auth-submit{color:#fff;background:linear-gradient(135deg,#16836d,#0e5b4d);border:0;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:53px;margin-top:5px;font-size:13px;font-weight:750;display:flex;box-shadow:0 13px 25px #167c6838}.auth-submit:hover{filter:brightness(1.05)}.auth-submit:disabled{cursor:wait;opacity:.7}.auth-error{color:#a23f3a;background:#fff1ef;border:1px solid #f1ceca;border-radius:10px;padding:11px 13px;font-size:12px;line-height:1.5}.auth-footnote{color:#87928f;text-align:center;margin:0;font-size:10.5px;line-height:1.5}.auth-step{align-items:center;gap:.4rem;display:inline-flex}.auth-secondary-link{color:#137c69;cursor:pointer;background:0 0;border:0;padding:.35rem;font-weight:700}.auth-setup-link{color:#126b5c;background:#e7f6f2;border:1px solid #b8ded4;border-radius:14px;justify-content:center;align-items:center;gap:.55rem;min-height:52px;font-weight:800;text-decoration:none;display:flex}.auth-secret{background:#f7faf9;border:1px dashed #a9bcb7;border-radius:14px;gap:.45rem;padding:.9rem 1rem;display:grid}.auth-secret span{color:#687b76;font-size:.78rem}.auth-secret strong{color:#102d28;letter-spacing:.08em;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem}.auth-success{color:#126b5c;background:#e7f6f2;border-radius:14px;align-items:center;gap:.55rem;padding:.85rem 1rem;font-weight:750;display:flex}.recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.recovery-grid code{color:#173b35;text-align:center;letter-spacing:.04em;background:#f1f5f4;border-radius:10px;padding:.75rem .6rem;font-weight:750}.auth-loading{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.auth-loading span{border:2px solid #d9e4e0;border-top-color:var(--green);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.main-content{min-height:100vh;margin-left:250px}.topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafbfae8;border-bottom:1px solid #dee4e2e6;justify-content:space-between;align-items:center;gap:24px;height:78px;padding:0 34px;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:12px;display:flex}.topbar h1{letter-spacing:-.02em;margin:0 0 3px;font-size:18px;font-weight:680}.topbar p{color:#7c8885;margin:0;font-size:11px}.top-actions{align-items:center;gap:10px;display:flex}.search-box{border:1px solid var(--line);color:#83908c;background:#fff;border-radius:10px;align-items:center;gap:9px;width:270px;height:40px;padding:0 11px;display:flex}.search-box:focus-within{border-color:#a8cfc4;box-shadow:0 0 0 3px #167c6814}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12px}.search-box input::placeholder{color:#9aa4a1}.search-box span{color:#9da6a4;background:#f7f8f7;border:1px solid #e6eae8;border-radius:5px;padding:2px 5px;font-size:8px}.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;flex:none;place-items:center;width:40px;height:40px;display:grid}.icon-button:hover{background:#f8faf9;border-color:#cbd5d2}.notification-button{position:relative}.notification-button i{background:#dc5d53;border:1.5px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:9px;right:9px}.notification-count{color:#fff;background:#ca514c;border:2px solid #fff;border-radius:99px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:8px;font-weight:750;display:grid;position:absolute;top:-5px;right:-5px}.menu-button{display:none}.primary-button,.secondary-button,.cancel-button,.filter-button,.text-button{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:650;display:inline-flex}.primary-button{color:#fff;background:var(--green);min-height:40px;padding:0 14px;box-shadow:0 6px 14px #167c6824}.primary-button:hover{background:var(--green-dark)}.primary-button:disabled{cursor:wait;opacity:.65}.secondary-button{background:#fff;border:1px solid #dfe5e3;min-height:38px;padding:0 13px}.secondary-button:hover{background:#f8faf9}.error-banner{color:#9d3737;background:#fff5f4;border:1px solid #f1c8c5;border-radius:11px;align-items:center;gap:9px;margin:18px 34px -3px;padding:11px 13px;font-size:12px;display:flex}.error-banner span{flex:1}.error-banner button{background:0 0;border:0;place-items:center;padding:2px;display:grid}.page-body{width:100%;max-width:1540px;margin:0 auto;padding:31px 34px 42px}.hero-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:23px;display:flex}.eyebrow,.panel-kicker,.modal-kicker{color:#7b8884;letter-spacing:.14em;font-size:9px;font-weight:760}.eyebrow{color:#4c7c70;align-items:center;gap:7px;margin-bottom:7px;display:flex}.pulse-dot{background:#25a882;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #25a8821c}.hero-row h2{letter-spacing:-.035em;max-width:650px;margin:0;font-size:clamp(22px,2.2vw,31px);font-weight:620;line-height:1.22}.hero-actions{gap:8px;display:flex}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.metric-card,.panel{border:1px solid var(--line);background:var(--panel);box-shadow:0 4px 18px #1a2a2506}.metric-card{border-radius:15px;min-height:145px;padding:18px}.metric-primary{background:linear-gradient(145deg,#f8fffc,#fff 78%);border-color:#cfe4de}.metric-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.metric-top>span{color:#6f7c78;font-size:11px;font-weight:560}.metric-icon{width:34px;height:34px;color:var(--green);background:var(--green-soft);border-radius:10px;flex:none;place-items:center;display:grid}.metric-icon.green{color:#1a8a72;background:#eaf7f3}.metric-icon.blue{color:var(--blue);background:var(--blue-soft)}.metric-icon.amber{color:var(--amber);background:var(--amber-soft)}.metric-card>strong{letter-spacing:-.04em;margin:9px 0 13px;font-size:clamp(19px,1.6vw,24px);font-weight:680;display:block}.metric-footer{color:#8a9592;align-items:center;gap:7px;font-size:9.5px;display:flex}.metric-footer.split{justify-content:space-between;gap:4px}.positive{color:#17846d;align-items:center;gap:3px;font-weight:680;display:inline-flex}.info-pill,.warning-pill{color:#3567ba;background:#eef4ff;border-radius:5px;padding:3px 6px;font-weight:650}.warning-pill{color:#9a681e;background:#fff4dc}.negative-text{color:#b84545}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(310px,.8fr);gap:13px;margin-top:13px;scroll-margin-top:95px;display:grid}.panel{border-radius:16px}.chart-panel,.attention-panel,.accounts-panel,.table-panel{padding:20px}.panel-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.panel-kicker{margin:0 0 5px;display:block}.panel-header h3{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:650}.chart-legend{color:#7e8a87;gap:14px;font-size:9px;display:flex}.chart-legend span{align-items:center;gap:5px;display:flex}.chart-legend i{border-radius:3px;width:7px;height:7px}.income-dot{background:#1c8f75}.expense-dot{background:#d9a04a}.projection-summary{grid-template-columns:.85fr .85fr 1.3fr;gap:10px;margin-top:20px;display:grid}.weekly-summary-item{background:#fafcfb;border:1px solid #e5ebe9;border-radius:11px;align-content:center;gap:4px;min-height:77px;padding:12px 13px;display:grid}.weekly-summary-item span{color:#84908d;font-size:9.5px}.weekly-summary-item strong{letter-spacing:-.035em;font-size:14px}.weekly-summary-item.income strong{color:#167c68}.weekly-summary-item.expense strong{color:#b87824}.weekly-summary-item.projected{background:#f4f9f7}.weekly-summary-item.projected strong{font-size:17px}.weekly-net{align-items:center;gap:4px;width:max-content;margin-top:2px;font-size:8.5px;font-weight:650;display:flex}.weekly-net.positive{color:#167c68}.weekly-net.negative{color:#b84545}.chart-area{height:190px;margin-top:13px;position:relative;overflow:auto hidden}.grid-lines{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 24px}.grid-lines span{border-top:1px dashed #edf0ef;width:100%}.bar-groups{grid-template-columns:repeat(8,minmax(88px,1fr));gap:12px;width:max(100%,820px);display:grid;position:absolute;inset:0}.bar-group{grid-template-rows:1fr 13px 15px 20px;gap:4px;min-width:0;display:grid}.bars{justify-content:center;align-items:flex-end;gap:5px;display:flex}.bar{border-radius:5px 5px 2px 2px;width:min(17px,33%);min-height:4px;transition:height .42s}.income-bar{background:#238d74}.expense-bar{background:#d9a04a}.bar-group>span:last-child{color:#8c9694;text-align:center;white-space:nowrap;font-size:8.5px}.bar-amounts{white-space:nowrap;justify-content:center;align-items:center;gap:5px;min-width:0;font-size:7px;display:flex}.bar-amounts b{text-overflow:ellipsis;font-weight:650;overflow:hidden}.bar-amounts b:first-child{color:#188169}.bar-amounts b:last-child{color:#b77b28}.week-net{text-overflow:ellipsis;white-space:nowrap;border-radius:5px;justify-self:center;width:max-content;max-width:100%;padding:2px 5px;font-size:7.5px;font-weight:650;display:block;overflow:hidden}.week-net.positive{color:#177660;background:#edf8f4}.week-net.negative{color:#b34c48;background:#fff0ef}.attention-count{color:#ad3f3f;background:var(--red-soft);border-radius:9px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:grid}.attention-list{margin-top:12px;display:grid}.weekly-calendar-panel{margin-top:13px;padding:22px;scroll-margin-top:95px}.calendar-header,.calendar-header-actions,.calendar-navigation,.calendar-week-summary,.calendar-day-title,.calendar-day-footer,.calendar-detail-header,.calendar-detail-header>div:last-child,.calendar-entry{align-items:center;display:flex}.calendar-header{justify-content:space-between;gap:20px}.calendar-header-actions{gap:8px}.calendar-print-button{color:#176d5b;background:#edf8f4;border:1px solid #bfd8d1;border-radius:10px;align-items:center;gap:7px;min-height:38px;padding:0 12px;font-size:9px;font-weight:680;display:inline-flex}.calendar-print-button:hover{background:#e5f4ee;border-color:#88b9ad}.calendar-header h3{letter-spacing:-.025em;margin:0;font-size:16px}.calendar-header>div:first-child>span{color:#82908c;margin-top:5px;font-size:9px;display:block}.calendar-navigation{background:#f7f9f8;border:1px solid #e1e8e5;border-radius:10px;gap:4px;padding:4px}.calendar-navigation button{color:#60706b;background:0 0;border:0;border-radius:7px;place-items:center;min-width:32px;height:30px;padding:0;display:grid}.calendar-navigation button:hover{color:#176d5b;background:#fff}.calendar-navigation .calendar-today-button{color:#246d5b;background:#fff;min-width:72px;padding:0 10px;font-size:9px;font-weight:650;display:block;box-shadow:0 1px 4px #16302914}.calendar-week-summary{background:#fafcfb;border:1px solid #e3e9e7;border-radius:12px;grid-template-columns:repeat(4,1fr);margin-top:18px;display:grid;overflow:hidden}.calendar-week-summary>div{border-right:1px solid #e7ecea;gap:5px;padding:13px 15px;display:grid}.calendar-week-summary>div:last-child{border-right:0}.calendar-week-summary span{color:#84918d;font-size:8.5px}.calendar-week-summary strong{letter-spacing:-.025em;font-size:13px}.calendar-days{grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px;margin-top:14px;padding:2px 1px 7px;display:grid;overflow-x:auto}.calendar-day{min-height:150px;color:inherit;text-align:left;background:#fff;border:1px solid #e3e9e7;border-radius:12px;align-content:space-between;gap:12px;padding:12px;transition:all .17s;display:grid}.calendar-day:hover{border-color:#b8d4cd;transform:translateY(-1px);box-shadow:0 8px 20px #193a310f}.calendar-day.selected{background:#f4faf7;border-color:#55a18d;box-shadow:0 0 0 2px #167c6814}.calendar-day.today .calendar-day-title strong{color:#fff;background:#177b67}.calendar-day-title{justify-content:space-between}.calendar-day-title span{color:#5f6f6a;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:9px;font-weight:650;overflow:hidden}.calendar-day-title strong{color:#32453f;background:#f1f5f3;border-radius:8px;flex:none;place-items:center;width:27px;height:27px;font-size:11px;display:grid}.calendar-day-values{gap:7px;display:grid}.calendar-day-values span{color:#75827f;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:8px;font-weight:600;display:flex;overflow:hidden}.calendar-day-values i{border-radius:2px;flex:none;width:6px;height:6px}.calendar-income i{background:#238d74}.calendar-expense i{background:#d9943d}.calendar-day-footer{border-top:1px solid #edf1ef;justify-content:space-between;gap:6px;padding-top:9px}.calendar-day-footer span{color:#8b9793;font-size:7.5px}.calendar-day-footer b{white-space:nowrap;font-size:7.5px}.calendar-day-footer .positive{color:#167c68}.calendar-day-footer .negative{color:#b64c48}.calendar-detail{background:#fff;border:1px solid #e2e8e6;border-radius:13px;margin-top:14px;overflow:hidden}.calendar-detail-header{background:#f8faf9;border-bottom:1px solid #e8edeb;justify-content:space-between;gap:20px;padding:14px 16px}.calendar-detail-header>div:first-child{gap:3px;display:grid}.calendar-detail-header>div:first-child>span{color:#4a8a79;letter-spacing:.08em;font-size:7.5px;font-weight:720}.calendar-detail-header h4{text-transform:capitalize;margin:0;font-size:12px}.calendar-detail-header>div:last-child{gap:14px}.calendar-detail-header>div:last-child span{color:#7a8884;font-size:8.5px}.calendar-detail-header b{margin-left:4px}.calendar-entry-list{max-height:310px;overflow-y:auto}.calendar-entry{border-bottom:1px solid #edf1ef;grid-template-columns:34px minmax(220px,1fr) 70px minmax(110px,auto);gap:11px;min-height:58px;padding:10px 16px;display:grid}.calendar-entry:last-child{border-bottom:0}.calendar-entry-icon{border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.calendar-entry-icon.incoming{color:#167c68;background:#eaf6f2}.calendar-entry-icon.outgoing{color:#bd514d;background:#fff0ef}.calendar-entry>div:nth-child(2){gap:3px;min-width:0;display:grid}.calendar-entry>div:nth-child(2) strong,.calendar-entry>div:nth-child(2) span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-entry>div:nth-child(2) strong{font-size:10px}.calendar-entry>div:nth-child(2) span{color:#88938f;font-size:8px}.calendar-entry-type{color:#667570;background:#f1f5f3;border-radius:6px;width:max-content;padding:4px 7px;font-size:8px;font-weight:620}.calendar-entry>b{white-space:nowrap;justify-self:end;font-size:10px}.weekly-print-report{display:none}.attention-item{border-bottom:1px solid #edf0ef;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:13px 0;display:grid}.attention-symbol{color:#af7721;background:var(--amber-soft);border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.attention-symbol.danger{color:#bd4a4a;background:var(--red-soft)}.attention-copy{gap:3px;min-width:0;display:grid}.attention-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.attention-copy span{color:#889390;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.attention-item>b{font-size:10px}.amount-in{color:#14806a}.amount-out{color:#b5524e}.panel-link{color:#2c6d5d;background:0 0;border:0;align-items:center;gap:6px;margin-top:14px;padding:0;font-size:10px;font-weight:650;display:flex}.accounts-panel,.table-panel{margin-top:13px;scroll-margin-top:95px}.text-button{color:#226b59;background:#edf7f3;padding:7px 10px}.account-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:15px;display:grid}.account-card{min-width:0;color:inherit;text-align:left;background:#fbfcfb;border:1px solid #e8ecea;border-radius:12px;grid-template-columns:40px 1fr auto 18px;align-items:center;gap:10px;padding:12px;transition:all .18s;display:grid}.account-card:hover{background:#fff;border-color:#c8ddd7;transform:translateY(-1px);box-shadow:0 7px 18px #14352c0f}.bank-logo{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;font-size:11px;font-weight:780;display:grid}.account-name,.account-balance{gap:3px;min-width:0;display:grid}.account-name span,.account-balance span{color:#899490;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.account-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.account-balance{text-align:right}.account-balance strong{font-size:11px}.account-card>svg{color:#9aa4a1}.skeleton{background:linear-gradient(90deg,#f3f5f4 25%,#fafbfa 50%,#f3f5f4 75%) 0 0/200% 100%;border:0;min-height:66px;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.table-heading{align-items:flex-end}.table-controls,.segmented-control{align-items:center;gap:8px;display:flex}.segmented-control{background:#f6f8f7;border:1px solid #e4e9e7;border-radius:9px;padding:3px}.segmented-control button{color:#788581;background:0 0;border:0;border-radius:6px;min-height:27px;padding:0 10px;font-size:9px;font-weight:580}.segmented-control button.selected{color:#234b41;background:#fff;box-shadow:0 1px 4px #1c2b2714}.filter-button{color:#6e7c78;background:#fff;border:1px solid #e3e8e6;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:9px;display:inline-flex}.filter-button.active{color:#176d5b;background:#edf8f4;border-color:#9bc8bc}.date-sort-panel{background:linear-gradient(135deg,#f8fbfa,#f3f8f6);border:1px solid #dfe9e6;border-radius:13px;margin-top:15px;padding:15px}.date-sort-title,.date-sort-title>div{align-items:center;display:flex}.date-sort-title{justify-content:space-between;gap:16px;margin-bottom:13px}.date-sort-title>div{color:#24715f;gap:9px}.date-sort-title span{gap:2px;display:grid}.date-sort-title strong{color:#29433c;font-size:11px}.date-sort-title small{color:#83908c;font-size:8.5px}.date-sort-title button{color:#407b6d;background:0 0;border:0;padding:0;font-size:9px;font-weight:620}.date-sort-fields{grid-template-columns:1fr 1fr 1.35fr minmax(115px,.7fr);align-items:end;gap:11px;display:grid}.date-sort-summary{background:#fff;border:1px solid #dce8e4;border-radius:10px;align-content:center;gap:2px;min-height:63px;padding:8px 11px;display:grid}.date-sort-summary span,.date-sort-summary small{color:#7f8d89;font-size:8px}.date-sort-summary strong{color:#244b41;font-size:11px}.date-sort-summary small{color:#197360;font-weight:650}.data-list{margin-top:15px}.data-row{border-bottom:1px solid #edf0ef;align-items:center;gap:14px;min-height:59px;padding:9px 8px;display:grid}.data-row:last-child{border-bottom:0}.cash-row,.check-row{grid-template-columns:minmax(210px,1.6fr) minmax(95px,.7fr) minmax(90px,.65fr) minmax(105px,.8fr) minmax(90px,.65fr) 65px}.data-head{color:#98a19f;letter-spacing:.04em;text-transform:uppercase;min-height:28px;padding:0 8px 6px;font-size:8.5px;font-weight:680}.primary-cell{align-items:center;gap:10px;min-width:0;display:flex}.primary-cell>div:last-child{gap:3px;min-width:0;display:grid}.primary-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.primary-cell span{color:#8a9592;text-overflow:ellipsis;white-space:nowrap;font-size:8.5px;overflow:hidden}.flow-icon{border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.flow-icon.receivable,.flow-icon.incoming{color:#167c68;background:#eaf6f2}.flow-icon.expense,.flow-icon.outgoing{color:#c05750;background:#fff1ef}.category-cell{color:#65736f;text-overflow:ellipsis;white-space:nowrap;background:#f3f6f5;border-radius:6px;width:max-content;max-width:100%;padding:4px 7px;font-size:8.5px;overflow:hidden}.date-cell{gap:2px;display:grid}.date-cell strong{font-size:10px}.date-cell span{color:#8a9592;font-size:8px}.date-cell span.overdue{color:#c14e4e}.data-row>.amount-in,.data-row>.amount-out{white-space:nowrap;font-size:10px}.status,.status-select{color:#8b641f;white-space:nowrap;background:#fff4da;border-radius:7px;align-items:center;gap:5px;width:max-content;padding:5px 7px;font-size:8.5px;font-weight:650;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:5px;height:5px}.status-overdue,.status-bounced{color:#b64444;background:#fff0ef}.status-paid,.status-collection{color:#167c68;background:#eaf6f2}.status-portfolio{color:#3569b6;background:#edf3ff}.status-endorsed{color:#6f55a3;background:#f3effb}.status-select{padding-right:5px;position:relative}.status-select select{appearance:none;color:inherit;font-size:inherit;font-weight:inherit;background:0 0;border:0;outline:0;padding:0 15px 0 0}.status-select svg{pointer-events:none;position:absolute;right:5px}.bank-cell{color:#586762;align-items:center;gap:5px;font-size:9px;display:flex}.row-actions{opacity:.2;justify-content:flex-end;align-items:center;gap:5px;transition:opacity .15s;display:flex}.data-row:hover .row-actions{opacity:1}.complete-button,.delete-button{background:#fff;border:1px solid #e2e7e5;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.complete-button{color:#197a66}.delete-button{color:#a45b57}.complete-button:hover{background:#edf8f4;border-color:#b8d8cf}.delete-button:hover{background:#fff3f2;border-color:#edc9c7}.empty-state{color:#8d9895;text-align:center;align-content:center;place-items:center;gap:7px;min-height:150px;display:grid}.empty-state.compact{min-height:135px}.empty-state strong{color:#52605d;font-size:11px}.empty-state span{font-size:9px}footer{color:#919b98;justify-content:space-between;align-items:center;padding:24px 3px 0;font-size:9px;display:flex}.modal-layer{z-index:80;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;background:#09100e87;border:0;position:absolute;inset:0}.modal-card{z-index:1;background:#fff;border:1px solid #ffffffa6;border-radius:18px;width:min(560px,100%);max-height:calc(100vh - 44px);animation:.18s ease-out modal-in;position:relative;overflow:auto;box-shadow:0 25px 80px #050e0b3b}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.modal-header{border-bottom:1px solid #edf0ef;justify-content:space-between;align-items:flex-start;padding:21px 22px 17px;display:flex}.modal-kicker{color:#39836f;margin-bottom:5px;display:block}.modal-header h3{letter-spacing:-.03em;margin:0;font-size:18px;font-weight:660}.modal-card form{padding:19px 22px 22px}.choice-cards{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px;display:grid}.choice-cards input{opacity:0;pointer-events:none;position:absolute}.choice-cards span{color:#63706d;background:#fbfcfc;border:1px solid #dfe5e3;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:45px;font-size:11px;font-weight:620;display:flex}.choice-cards input:checked+span{color:#146b59;background:#edf8f4;border-color:#8ec4b6;box-shadow:0 0 0 2px #167c680f}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.field{gap:6px;display:grid}.field.full{grid-column:1/-1;margin-bottom:13px}.form-grid .field.full{margin-bottom:0}.field>span{color:#5f6c69;font-size:9.5px;font-weight:620}.field input,.field select,.field textarea{color:#26312f;background:#fff;border:1px solid #dfe5e3;border-radius:9px;outline:0;width:100%;min-height:40px;padding:9px 11px;font-size:11px}.field textarea{resize:vertical;min-height:58px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#88bbae;box-shadow:0 0 0 3px #167c6812}.field input[type=color]{padding:5px}.balance-form{gap:18px;display:grid}.selected-account{background:#f8faf9;border:1px solid #e7ecea;border-radius:11px;align-items:center;gap:11px;padding:12px;display:flex}.selected-account>div:last-child{gap:3px;display:grid}.selected-account strong{font-size:11px}.selected-account span{color:#7e8a87;font-size:9px}.modal-footer{border-top:1px solid #edf0ef;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.cancel-button{color:#687570;background:#fff;border:1px solid #e0e5e3;min-height:40px;padding:0 14px}.toast{z-index:100;color:#185f50;background:#f6fffc;border:1px solid #c5ddd7;border-radius:11px;align-items:center;gap:8px;padding:12px 15px;font-size:11px;font-weight:620;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 34px #173c3226}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.mobile-backdrop{display:none}.pwa-install-button{z-index:72;color:#fff;background:#126f5c;border:1px solid #ffffff6b;border-radius:11px;align-items:center;gap:7px;min-height:42px;padding:0 13px;font-size:10px;font-weight:700;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 34px #0f463a42}.pwa-install-button:hover{background:#0f5e4e;transform:translateY(-1px)}.pwa-help-layer{z-index:120;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.pwa-help-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08120f94;border:0;position:absolute;inset:0}.pwa-help-card{z-index:1;background:#fff;border:1px solid #ffffff8c;border-radius:21px;width:min(410px,100%);padding:27px;position:relative;box-shadow:0 30px 90px #06181347}.pwa-help-card>img{border-radius:15px;width:62px;height:62px}.pwa-help-card>span{color:#24745f;letter-spacing:.1em;margin-top:17px;font-size:8px;font-weight:780;display:block}.pwa-help-card h3{letter-spacing:-.03em;margin:6px 0 15px;font-size:19px}.pwa-help-card ol{color:#61706b;gap:11px;margin:0;padding-left:21px;font-size:11px;line-height:1.55;display:grid}.pwa-help-card li svg{color:#1b7d68;margin:0 2px -3px;display:inline}.pwa-help-close{color:#63716d;background:#f8faf9;border:1px solid #e2e8e6;border-radius:9px;place-items:center;width:32px;height:32px;padding:0;display:grid;position:absolute;top:14px;right:14px}.alarm-center{background:radial-gradient(circle at 100% 0,#1d7e6612,#0000 28%),#fff;margin-top:13px;padding:20px;scroll-margin-top:95px;overflow:hidden}.alarm-center-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.alarm-center-header h3{letter-spacing:-.025em;margin:0;font-size:17px;font-weight:680}.alarm-center-header>div:first-child>span{color:#7d8985;max-width:670px;margin-top:5px;font-size:9.5px;line-height:1.5;display:block}.alarm-risk-badge{color:#17715e;background:#edf8f4;border:1px solid #d7e8e2;border-radius:11px;align-items:center;gap:9px;min-width:170px;padding:10px 12px;display:flex}.alarm-risk-badge.warning{color:#8b631d;background:#fff7e7;border-color:#efdfbb}.alarm-risk-badge.critical{color:#a94141;background:#fff0ef;border-color:#f0d1ce}.alarm-risk-badge>div{gap:2px;display:grid}.alarm-risk-badge span{letter-spacing:.08em;font-size:7px;font-weight:760}.alarm-risk-badge strong{font-size:10px}.alarm-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:17px;display:grid}.alarm-overview-card{background:#fafcfbeb;border:1px solid #e3eae7;border-radius:11px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:88px;padding:12px;display:grid}.alarm-overview-card.risk-count{background:#fff9f8;border-color:#ecd6d3}.alarm-overview-card>div:last-child{gap:3px;min-width:0;display:grid}.alarm-overview-card span{color:#7c8985;font-size:8.5px}.alarm-overview-card strong{letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.alarm-overview-card small{color:#929c99;text-overflow:ellipsis;white-space:nowrap;font-size:7.5px;overflow:hidden}.alarm-overview-icon{color:#b34a47;background:#ffebe9;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.alarm-overview-icon.income{color:#177b66;background:#e9f6f2}.alarm-overview-icon.expense{color:#a56c22;background:#fff2dd}.alarm-overview-card.minimum .alarm-overview-icon{color:#496ca4;background:#edf3fc}.alarm-content-grid{grid-template-columns:minmax(0,1.45fr) minmax(340px,.78fr);gap:12px;margin-top:12px;display:grid}.alarm-list-panel,.alarm-forecast-panel{background:#fbfcfc;border:1px solid #e1e8e5;border-radius:12px;min-width:0;overflow:hidden}.alarm-list-header,.alarm-forecast-header{background:#f7faf9;border-bottom:1px solid #e6ece9;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:10px 12px;display:flex}.alarm-list-header>div:first-child,.alarm-forecast-header>div{gap:2px;display:grid}.alarm-list-header>div:first-child span,.alarm-forecast-header span{color:#778681;letter-spacing:.08em;font-size:7px;font-weight:760}.alarm-list-header>div:first-child strong,.alarm-forecast-header strong{font-size:10px}.alarm-filter{background:#eaf0ee;border-radius:8px;gap:3px;padding:3px;display:flex}.alarm-filter button{color:#71807b;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:5px 7px;font-size:7.5px;font-weight:650}.alarm-filter button.selected{color:#1b6655;background:#fff;box-shadow:0 2px 7px #19372f14}.financial-alarm-list{display:grid}.financial-alarm-item{background:#fff;border-bottom:1px solid #e8edeb;grid-template-columns:38px minmax(190px,1fr) 105px auto;align-items:center;gap:11px;min-height:85px;padding:11px 12px;display:grid;position:relative}.financial-alarm-item:last-child{border-bottom:0}.financial-alarm-item:before{content:"";background:#4b7aa8;border-radius:0 3px 3px 0;width:3px;position:absolute;inset:12px auto 12px 0}.financial-alarm-item.critical:before{background:#cf554f}.financial-alarm-item.warning:before{background:#d39a40}.financial-alarm-icon{color:#416e9f;background:#edf4fb;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.financial-alarm-item.critical .financial-alarm-icon{color:#b74743;background:#ffedeb}.financial-alarm-item.warning .financial-alarm-icon{color:#9b6a21;background:#fff2da}.financial-alarm-copy{gap:4px;min-width:0;display:grid}.financial-alarm-copy>div{color:#8a9692;align-items:center;gap:7px;font-size:7.5px;display:flex}.alarm-severity{color:#416e9f;background:#edf4fb;border-radius:5px;padding:3px 5px;font-weight:750}.financial-alarm-item.critical .alarm-severity{color:#ae423e;background:#ffebe9}.financial-alarm-item.warning .alarm-severity{color:#94621b;background:#fff0d2}.financial-alarm-copy>strong{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.financial-alarm-copy p{color:#7e8b87;max-width:620px;margin:0;font-size:8px;line-height:1.45}.financial-alarm-value{text-align:right;justify-items:end;gap:3px;display:grid}.financial-alarm-value strong{white-space:nowrap;font-size:10px}.financial-alarm-value span{color:#8a9692;font-size:7.5px}.alarm-action-button{color:#2c6d5d;white-space:nowrap;background:#f8fbfa;border:1px solid #dfe7e4;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:6px 7px;font-size:7.5px;font-weight:680;display:inline-flex}.alarm-action-button:hover{background:#eef7f4;border-color:#bcd6cf}.alarm-empty-state{color:#27816b;text-align:center;align-content:center;place-items:center;gap:7px;min-height:210px;padding:25px;display:grid}.alarm-empty-state strong{color:#32413c;font-size:11px}.alarm-empty-state span{color:#87938f;max-width:360px;font-size:8.5px;line-height:1.5}.alarm-forecast-header small{color:#84918d;text-align:right;max-width:150px;font-size:7.5px;line-height:1.4}.alarm-timeline{max-height:510px;display:grid;overflow:hidden auto}.alarm-timeline-day{background:#fff;border-bottom:1px solid #e9eeec;grid-template-columns:48px minmax(70px,1fr) minmax(45px,.55fr) 70px;align-items:center;gap:6px;min-height:48px;padding:8px 11px;display:grid}.alarm-timeline-day:last-child{border-bottom:0}.alarm-timeline-day.critical{background:#fff8f7}.alarm-timeline-day.warning{background:#fffdf8}.alarm-timeline-date,.alarm-timeline-flows,.alarm-timeline-balance{gap:2px;display:grid}.alarm-timeline-date strong{font-size:8.5px}.alarm-timeline-date span,.alarm-timeline-balance span{color:#8c9794;text-transform:capitalize;font-size:7px}.alarm-timeline-flows{grid-template-columns:1fr 1fr;gap:5px;font-size:7px}.alarm-timeline-flows span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alarm-balance-line{background:#edf1f0;border-radius:99px;height:5px;overflow:hidden}.alarm-balance-line i{border-radius:inherit;background:#49a58e;height:100%;display:block}.alarm-timeline-day.warning .alarm-balance-line i{background:#d4a04d}.alarm-timeline-day.critical .alarm-balance-line i{background:#cd5b54}.alarm-timeline-balance{text-align:right;justify-items:end}.alarm-timeline-balance strong{white-space:nowrap;font-size:8px}.alarm-timeline-day.critical .alarm-timeline-balance strong{color:#b64444}.alarm-forecast-link{color:#236b59;background:#f5faf8;border:0;border-top:1px solid #e5ebe9;justify-content:center;align-items:center;gap:6px;width:100%;min-height:40px;font-size:8.5px;font-weight:680;display:flex}.loans-panel{margin-top:13px;padding:20px;scroll-margin-top:95px}.loans-heading{align-items:flex-start}.panel-description{color:#87938f;margin-top:5px;font-size:9px;display:block}.loan-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:17px;display:grid}.loan-summary-card{background:linear-gradient(145deg,#fbfdfc,#f5f9f7);border:1px solid #e4ebe8;border-radius:12px;gap:5px;min-width:0;padding:14px;display:grid;position:relative;overflow:hidden}.loan-summary-card:before{content:"";background:#1d7e661a;border-radius:50%;width:54px;height:54px;position:absolute;inset:-24px -18px auto auto}.loan-summary-card.payment:before{background:#ca8f3821}.loan-summary-card.next:before{background:#3866b11f}.loan-summary-card.progress:before{background:#6f55a31f}.loan-summary-card>span{color:#788581;font-size:9px}.loan-summary-card>strong{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.loan-summary-card>strong small{color:#8a9692;margin-left:2px;font-size:10px;font-weight:600}.loan-summary-card>small{color:#909a97;font-size:8.5px}.loan-list{gap:10px;margin-top:13px;display:grid}.loan-card{background:#fff;border:1px solid #e3e9e7;border-radius:13px;overflow:hidden}.loan-card.closed{background:#fafbfb}.loan-card-head{grid-template-columns:42px minmax(170px,1.3fr) minmax(130px,.8fr) minmax(160px,1fr) auto 32px;align-items:center;gap:12px;padding:14px;display:grid}.loan-bank-mark{color:#176f5c;background:#eaf5f1;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.loan-main{gap:2px;min-width:0;display:grid}.loan-main>span,.loan-main>small,.loan-remaining>span,.loan-progress span{color:#84908d;font-size:8.5px}.loan-main>strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.loan-main>small{color:#64736f}.loan-remaining{gap:3px;display:grid}.loan-remaining strong{white-space:nowrap;font-size:11px}.loan-progress{gap:6px;display:grid}.loan-progress>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.loan-progress b{color:#50605b;font-size:8.5px}.loan-progress-track{background:#edf1f0;border-radius:99px;height:6px;overflow:hidden}.loan-progress-track i{border-radius:inherit;background:linear-gradient(90deg,#1b8a70,#51ad96);height:100%;display:block}.status-active{color:#167c68;background:#eaf6f2}.status-closed{color:#687470;background:#eef1f0}.loan-expand-button{color:#5d6c68;background:#fafcfb;border:1px solid #e1e7e5;border-radius:8px;place-items:center;width:30px;height:30px;padding:0;display:grid}.loan-card:has(.loan-details) .loan-expand-button svg{transform:rotate(180deg)}.loan-details{background:#fbfcfc;border-top:1px solid #e7ecea}.loan-detail-strip{background:#f5f8f7;border-bottom:1px solid #e8edeb;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.loan-detail-strip>div{border-right:1px solid #e4eae8;gap:4px;padding:11px 14px;display:grid}.loan-detail-strip>div:last-child{border-right:0}.loan-detail-strip span{color:#84908d;font-size:8px}.loan-detail-strip strong{text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.installment-list{padding:8px 14px 4px}.installment-row{color:#55635f;border-bottom:1px solid #e9eeec;grid-template-columns:90px 100px minmax(100px,1fr) minmax(100px,1fr) minmax(110px,1fr) 96px;align-items:center;gap:12px;min-width:720px;padding:10px 5px;font-size:9px;display:grid}.installment-row>strong{color:#263530}.installment-head{color:#8a9592;letter-spacing:.04em;text-transform:uppercase;padding-block:7px;font-size:7.5px;font-weight:700}.installment-status{color:#8b641f;background:#fff2d3;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;width:max-content;padding:6px 8px;font-size:8px;font-weight:700;display:inline-flex}.installment-status.paid{color:#167c68;background:#e5f4ef}.installment-status.overdue{color:#b64444;background:#ffedeb}.loan-detail-footer{color:#84908d;justify-content:space-between;align-items:center;gap:20px;padding:11px 14px 13px;font-size:8.5px;display:flex}.loan-delete-button{color:#ad4949;background:#fff0ef;border:0;border-radius:7px;flex:none;align-items:center;gap:5px;padding:6px 8px;font-size:8px;font-weight:650;display:inline-flex}.loan-empty{border:1px dashed #d7e3df;border-radius:12px}.loan-empty .text-button{margin-top:5px}.modal-card-wide{width:min(710px,100%)}.loan-form-note{color:#356a5d;background:#edf7f3;border-radius:9px;align-items:center;gap:9px;margin-bottom:16px;padding:10px 12px;font-size:9.5px;line-height:1.5;display:flex}@media (width<=1180px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-strip{grid-template-columns:1fr}.account-card{grid-template-columns:40px 1fr auto 18px}.loan-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loan-card-head{grid-template-columns:42px minmax(160px,1.2fr) minmax(125px,.8fr) minmax(140px,1fr) auto 32px;gap:9px}.alarm-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alarm-content-grid{grid-template-columns:1fr}.alarm-timeline{grid-template-columns:repeat(7,minmax(210px,1fr));max-height:none;overflow-x:auto}.alarm-timeline-day{border-bottom:0;border-right:1px solid #e9eeec;grid-template-columns:1fr;align-content:start;min-height:122px}.alarm-timeline-flows{grid-template-columns:1fr}.alarm-timeline-balance{text-align:left;justify-items:start}}@media (width<=960px){.sidebar{transition:transform .22s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.mobile-backdrop.show{z-index:35;background:#080f0d59;border:0;display:block;position:fixed;inset:0}.main-content{margin-left:0}.menu-button{display:grid}.content-grid{grid-template-columns:1fr}.cash-row,.check-row{grid-template-columns:minmax(210px,1.4fr) 100px 90px 110px 90px 65px}.data-list{overflow-x:auto}.data-row{min-width:850px}.date-sort-fields{grid-template-columns:1fr 1fr}.calendar-days{grid-template-columns:repeat(7,145px)}.loan-card-head{grid-template-columns:42px minmax(160px,1fr) minmax(125px,.7fr) auto 32px}.loan-progress{display:none}.loan-detail-strip{grid-template-columns:1fr 1fr}.loan-detail-strip>div:nth-child(2){border-right:0}.installment-list{overflow-x:auto}.financial-alarm-item{grid-template-columns:38px minmax(190px,1fr) 100px}.alarm-action-button{grid-column:2/4;justify-self:start}}@media (width<=700px){.app-shell{min-height:100dvh}.topbar{height:calc(67px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0) max(17px, env(safe-area-inset-right,0)) 0 max(17px, env(safe-area-inset-left,0))}.topbar h1{font-size:16px}.topbar p,.search-box,.notification-button,.primary-button>svg:last-child{display:none}.top-actions .primary-button{min-width:40px;padding:0 11px;font-size:0}.top-actions .primary-button svg{display:block}.page-body{padding:22px max(16px, env(safe-area-inset-right,0)) max(34px, env(safe-area-inset-bottom,0)) max(16px, env(safe-area-inset-left,0))}.pwa-install-button{right:max(14px, env(safe-area-inset-right,0));bottom:max(14px, env(safe-area-inset-bottom,0));min-height:44px;padding-inline:12px}.pwa-install-button span{display:none}.pwa-help-layer{align-items:end;padding:0}.pwa-help-card{width:100%;padding:25px max(22px, env(safe-area-inset-right,0)) max(26px, env(safe-area-inset-bottom,0)) max(22px, env(safe-area-inset-left,0));border-radius:21px 21px 0 0}.error-banner{margin:14px 16px -2px}.hero-row{flex-direction:column;align-items:flex-start;gap:15px}.hero-actions{width:100%}.hero-actions button{flex:1}.metrics-grid{grid-template-columns:1fr}.metric-card{min-height:132px}.alarm-center{padding:17px 14px}.alarm-center-header{flex-direction:column}.alarm-risk-badge{width:100%}.alarm-overview-grid{grid-template-columns:1fr}.alarm-list-header{flex-direction:column;align-items:flex-start}.alarm-filter{width:100%;overflow-x:auto}.financial-alarm-item{grid-template-columns:36px minmax(0,1fr);align-items:start}.financial-alarm-value{text-align:left;grid-column:2;justify-items:start}.alarm-action-button{grid-column:2}.alarm-forecast-header{flex-direction:column;align-items:flex-start}.alarm-forecast-header small{text-align:left;max-width:none}.projection-summary{grid-template-columns:1fr;gap:8px}.chart-legend{display:none}.chart-area{height:190px}.attention-item{grid-template-columns:32px 1fr}.attention-item>b{grid-column:2}.account-card{grid-template-columns:40px 1fr 18px}.account-balance{text-align:left;grid-area:2/2}.account-card>svg{grid-area:1/3/3}.table-heading{flex-direction:column;align-items:flex-start}.table-controls{justify-content:space-between;width:100%;overflow-x:auto}.table-panel,.loans-panel{padding:17px 14px}.loans-heading{flex-direction:column}.loan-summary-grid{grid-template-columns:1fr}.loan-card-head{grid-template-columns:42px minmax(0,1fr) 32px;align-items:start}.loan-remaining,.loan-card-head>.status{grid-column:2}.loan-expand-button{grid-area:1/3}.loan-detail-strip{grid-template-columns:1fr}.loan-detail-strip>div{border-bottom:1px solid #e4eae8;border-right:0}.loan-detail-strip>div:last-child{border-bottom:0}.loan-detail-footer,.date-sort-title{flex-direction:column;align-items:flex-start}.date-sort-fields{grid-template-columns:1fr}.weekly-calendar-panel{padding:17px 14px}.calendar-header,.calendar-detail-header{flex-direction:column;align-items:flex-start}.calendar-header-actions{flex-direction:column;align-items:stretch;width:100%}.calendar-print-button{justify-content:center}.calendar-navigation{justify-content:space-between;width:100%}.calendar-navigation .calendar-today-button{flex:1}.calendar-week-summary{grid-template-columns:1fr 1fr}.calendar-week-summary>div:nth-child(2){border-right:0}.calendar-week-summary>div:nth-child(-n+2){border-bottom:1px solid #e7ecea}.calendar-entry{grid-template-columns:34px minmax(190px,1fr) 65px 105px;min-width:460px}.calendar-entry-list{overflow-x:auto}footer{flex-direction:column;align-items:flex-start;gap:5px}.modal-layer{align-items:end;padding:0}.modal-card{border-radius:18px 18px 0 0;width:100%;max-height:92vh}.form-grid{grid-template-columns:1fr}.form-grid .field.full{grid-column:1}.choice-cards{grid-template-columns:1fr}}@media print{@page{size:A4 landscape;margin:12mm}html,body{background:#fff!important}.sidebar,.topbar,.mobile-backdrop,.error-banner,.toast,.modal-layer,.page-body>:not(.weekly-calendar-panel){display:none!important}.app-shell{min-height:0}.main-content{min-height:0;margin:0}.page-body{width:100%;max-width:none;margin:0;padding:0}.weekly-calendar-panel{width:100%;box-shadow:none;border:0;margin:0;padding:0;position:static}.weekly-calendar-panel>:not(.weekly-print-report){display:none!important}.weekly-print-report{color:#15211e;font-family:Arial,Helvetica,sans-serif;display:block}.print-report-header{border-bottom:2px solid #176d5b;justify-content:space-between;align-items:flex-start;padding-bottom:12px;display:flex}.print-brand{align-items:center;gap:10px;display:flex}.print-brand>div{color:#fff;background:#176d5b;border-radius:8px;place-items:center;width:37px;height:37px;font-size:20px;font-weight:700;display:grid}.print-brand span,.print-report-header>div:last-child{gap:2px;display:grid}.print-brand strong{letter-spacing:.08em;font-size:12px}.print-brand small,.print-report-header small{color:#6e7c78;font-size:8px}.print-report-header>div:last-child{text-align:right;justify-items:end}.print-report-header>div:last-child>span{color:#176d5b;letter-spacing:.08em;font-size:8px;font-weight:700}.print-report-header>div:last-child>strong{font-size:12px}.print-summary{border:1px solid #dbe4e1;border-radius:8px;grid-template-columns:repeat(4,1fr);margin:12px 0;display:grid;overflow:hidden}.print-summary>div{border-right:1px solid #dbe4e1;gap:3px;padding:9px 11px;display:grid}.print-summary>div:last-child{border-right:0}.print-summary span{color:#72807c;font-size:7.5px}.print-summary strong{font-size:11px}.print-report-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:7.5px}.print-report-table thead{display:table-header-group}.print-report-table tr{break-inside:avoid;page-break-inside:avoid}.print-report-table th{color:#fff;text-align:left;background:#1a5f50;padding:7px 6px}.print-report-table th:first-child{width:9%}.print-report-table th:nth-child(2){width:7%}.print-report-table th:nth-child(3){width:28%}.print-report-table th:nth-child(4){width:32%}.print-report-table th:nth-child(5),.print-report-table th:nth-child(6){text-align:right;width:12%}.print-report-table td{overflow-wrap:anywhere;vertical-align:top;border-bottom:1px solid #e1e7e5;border-right:1px solid #e1e7e5;padding:6px}.print-report-table tbody tr:nth-child(2n){background:#f6f9f8}.print-report-table td:first-child{border-left:1px solid #e1e7e5}.print-report-table td:first-child strong,.print-report-table td:first-child span{display:block}.print-report-table td:first-child span{color:#788681;text-transform:capitalize;margin-top:2px}.print-report-table .print-income,.print-report-table .print-expense{text-align:right;white-space:nowrap;font-weight:700}.print-income{color:#176d5b}.print-expense{color:#a44743}.print-report-table tfoot td{text-align:right;background:#edf6f3;border-top:2px solid #176d5b;padding:8px 6px;font-weight:700}.print-empty{color:#71807b;text-align:center;padding:24px!important}.print-report-footer{color:#71807b;border-top:1px solid #dbe4e1;justify-content:space-between;align-items:center;margin-top:10px;padding-top:7px;font-size:7px;display:flex}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=900px){.auth-page{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{padding:max(30px, env(safe-area-inset-top,0px)) max(22px, env(safe-area-inset-right,0px)) max(30px, env(safe-area-inset-bottom,0px)) max(22px, env(safe-area-inset-left,0px));background:radial-gradient(circle at 10% 8%,#1f977c1a,#0000 30%),#f2f5f4}.auth-mobile-brand{align-items:center;gap:11px;margin-bottom:46px;display:flex}.auth-mobile-brand img{border-radius:12px;width:44px;height:44px}.auth-mobile-brand strong{letter-spacing:.04em;font-size:14px}}@media (width<=480px){.auth-panel{place-items:start center}.auth-mobile-brand{margin-bottom:38px}.auth-heading{margin-bottom:25px}.auth-heading h2{font-size:29px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
