/* A+C material direction adapted to Finindustry components. No personal data. */
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('./manrope-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('./manrope-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#edf2ee;--surface:#fff;--ink:#18382d;--muted:#62776d;--green:#285b47;--lime:#e5edda;--soft:#f0f5eb;--line:#dfe8dd;--danger:#a74134;--shadow:0 10px 32px #244c3510;--reference-peach:#ba975c;--reference-lavender:#a7bb8b;--material-ease:cubic-bezier(.2,.8,.2,1)}
body{font-family:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(ellipse at 1% 0%,#d6e7d8 0,transparent 42%),radial-gradient(ellipse at 100% 18%,#e9e5ee 0,transparent 36%),linear-gradient(160deg,#f5f7f1,#edf2ee 65%,#f3f1ea);background-attachment:fixed}
body[data-theme="dark"],:root[data-theme="dark"]{--bg:#14251d;--surface:#21372b;--ink:#edf3e4;--muted:#b0bfa6;--green:#bad29d;--lime:#394d30;--soft:#293f30;--line:#3d5541;--danger:#e5a18c;--shadow:none;--reference-peach:#c2a56a;--reference-lavender:#a4b985;background:radial-gradient(ellipse at 0 0,#243f2c 0,transparent 48%),linear-gradient(145deg,#15281f,#12221b)}
button,input,select,textarea{font-family:inherit}
button:focus-visible,a:focus-visible,[role="button"]:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #8aa777;outline-offset:4px}
.app-header{background:#ffffffba;border:1px solid #ffffffdc;border-radius:24px;box-shadow:0 8px 32px #244c3510;backdrop-filter:blur(20px);padding:10px 18px;gap:18px}
.brand,.header-brand .brand>span:last-child{font-family:inherit;font-weight:750;letter-spacing:-.65px}
.brand-mark,.header-brand .brand-mark{background:linear-gradient(145deg,#54846a,#1f4b39);box-shadow:inset 1px 1px 2px #e3f6d866,0 5px 12px #31594125;color:#f5f4dc;border-radius:12px;width:38px;height:38px}
.nav{background:#e8eee861;padding:4px;border-radius:18px;gap:2px;min-width:0}
.nav-item{border-radius:13px;min-height:62px;padding:7px 10px;font-size:10px;gap:4px;flex-direction:column;color:var(--muted)}
.nav-item.active{background:linear-gradient(155deg,#fff,#f9fbf6);box-shadow:0 3px 10px #294b3214,inset 0 1px #fff;color:#285b47;font-weight:750}
.nav-symbol{display:flex;width:28px;height:28px;align-items:center;justify-content:center}
.nav-symbol .fi-material{width:100%;height:100%}
.nav-symbol .app-icon{width:23px;height:23px}
.header-actions .button{min-height:38px}
.avatar{background:linear-gradient(145deg,#e6ecd5,#b7c7a4);color:#345c3d;box-shadow:0 2px 6px #21493615;border:2px solid var(--surface);width:34px;height:34px;font-weight:750}
.workspace{max-width:1360px}.context-bar{margin-bottom:24px}.breadcrumbs{color:var(--muted)}
h1,.heading h1{font-family:inherit;font-size:clamp(31px,3.3vw,45px);font-weight:750;letter-spacing:-1.8px;line-height:1.15}
h2,.panel h2{font-family:inherit;font-size:20px;font-weight:750;letter-spacing:-.7px;line-height:1.35}
.heading .eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:750;color:var(--muted)}
.heading p.muted{font-size:12px;line-height:1.75;max-width:68ch}
.button,.viz-open,.icon-button{position:relative;border-radius:14px;min-height:44px;padding:10px 17px;font-size:12px;font-weight:650;box-shadow:0 2px 4px #2e503508,inset 0 1px #ffffff90;transition:background .2s var(--material-ease),box-shadow .2s var(--material-ease),border-color .2s var(--material-ease)}
.button{background:linear-gradient(160deg,var(--surface),var(--soft));border-color:var(--line);color:var(--ink)}
.button.primary{background:linear-gradient(135deg,#386e54,#1e4b38);border-color:#28513d;color:#fcfff4;box-shadow:0 6px 16px #234f3830,inset 0 1px #ffffff38}
.button.flat{background:transparent;box-shadow:none;border-color:transparent;color:var(--muted)}
.button.small{min-height:36px;padding:7px 12px;font-size:11px}
.icon-button{background:var(--soft);padding:8px;color:var(--ink)}
.month-control{border-radius:14px;background:var(--surface);border-color:var(--line);box-shadow:0 2px 8px #1d422708}
.month-control input{font-weight:650;color:var(--ink)}
.view-enter{animation:none}
.hero-grid{gap:22px}
.balance-card,.savings-card{border-radius:28px;padding:30px;position:relative;isolation:isolate;overflow:hidden;min-height:300px}
.balance-card{background:radial-gradient(ellipse at 95% 0%,#537d60a6,transparent 65%),linear-gradient(130deg,#254f3e,#163d2c);border:1px solid #305841;box-shadow:0 16px 38px #204e3628,inset 0 1px #ffffff20;color:#f4f8ec}
.balance-card:before{content:'';position:absolute;width:250px;height:250px;right:-100px;top:-100px;border:1px solid #c6de9e1c;border-radius:50%;box-shadow:0 0 0 40px #c6de9e06,0 0 0 80px #c6de9e04;pointer-events:none;z-index:-1}
.balance-card .eyebrow{color:#c3d2ba;font-size:10px;max-width:calc(100% - 70px)}
.balance-card .balance-number{font-size:clamp(34px,3.5vw,48px);font-weight:700;color:#f8fae9;letter-spacing:-2px;line-height:1.2;max-width:calc(100% - 80px);overflow-wrap:anywhere}
.balance-card .balance-note{color:#b5c7ae;font-size:11px;line-height:1.7;max-width:75%}
.balance-bottom{border-color:#ffffff26;gap:28px;position:relative;flex-wrap:wrap}
.balance-bottom span{color:#bbceb1;font-size:10px}.balance-bottom strong{color:#f2f5e3;font-size:18px;font-weight:700}
.hero-decoration{width:100px;height:100px;right:15px;top:32px;opacity:1;transform:none;background:none;pointer-events:none}
.hero-decoration .fi-material{width:100%;height:100%;filter:drop-shadow(0 12px 9px #173d3030)}
.savings-card{background:radial-gradient(ellipse at 100% 80%,#dce8c7 0,transparent 68%),linear-gradient(145deg,#f7f8e9,#e9efda);border:1px solid #d8e1c8;box-shadow:0 12px 28px #4961360b,inset 0 1px #fff;color:#3d5b32}
.savings-card .eyebrow{font-size:9px;letter-spacing:1px;color:#6b8158;max-width:calc(100% - 65px)}
.savings-card .balance-number{font-size:38px;font-weight:700;letter-spacing:-1.7px;max-width:calc(100% - 65px);overflow-wrap:anywhere}
.savings-card p{font-size:12px;color:#687c55;line-height:1.7}
.savings-card .button{background:#ffffffd6;color:#4b6c3a;border-color:#d2dfbc}
.savings-decoration{position:absolute;right:12px;top:24px;width:86px;height:86px;pointer-events:none}.savings-decoration .fi-material{width:100%;height:100%;filter:drop-shadow(0 8px 8px #5c703520)}
.goal-preview{border-color:#d1ddc2}.goal-preview strong{color:#3c5d34}.goal-preview-amount{color:#667b54}
.goal-ring{filter:drop-shadow(0 3px 6px #617d3210)}
.metric-grid{gap:18px}.metric{padding:24px;border-radius:23px;border:1px solid var(--line);background:linear-gradient(145deg,var(--surface),var(--soft));box-shadow:var(--shadow),inset 0 1px #ffffff50;min-height:142px}
.metric .label{font-size:11px;font-weight:650;color:var(--muted)}.metric .value{font-size:30px;font-weight:700;letter-spacing:-1.2px;color:var(--ink)}.metric .hint{font-size:10px;line-height:1.7}
.metric-icon{background:none;border:0;width:46px;height:46px;margin:0;display:grid;place-items:center}.metric-icon .fi-material{width:100%;height:100%}
.panel,.goal-card,.account-card{padding:27px;border-radius:25px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}
.panel p{line-height:1.75}.panel-head{gap:16px}.panel-head h2{font-size:20px}.setting-row{gap:14px}
.category-icon{width:46px;min-width:46px;height:46px;background:linear-gradient(145deg,#f6f9ef,#e8efdf);border:1px solid #e4eadb;border-radius:15px;box-shadow:inset 0 1px #fff;display:inline-grid;place-items:center}
.category-icon .fi-material{width:100%;height:100%}.category-icon .fi-material-card{width:32px;height:23px}
.category-name{font-weight:650;gap:12px}.category-row{border-color:var(--line);padding:15px 0}.category-foot{font-size:10px}.category-foot .over{color:var(--danger)}
progress{background:var(--soft);height:6px;border-radius:20px}progress::-webkit-progress-bar{background:var(--soft);border-radius:20px}progress::-webkit-progress-value{background:linear-gradient(90deg,#879e66,#b4c28a);border-radius:20px}progress::-moz-progress-bar{background:#91a870;border-radius:20px}
.forecast-card{border:1px solid var(--line);background:linear-gradient(110deg,var(--soft),var(--surface));border-radius:24px;box-shadow:0 5px 20px #4c66320b;padding:26px 29px}
.forecast-card h2{font-size:35px;font-weight:750;letter-spacing:-1.3px}.forecast-detail{border-color:var(--line)}
.planned-icon{background:var(--soft);width:40px;height:40px;border-radius:13px}.planned-icon .fi-material{width:100%;height:100%}
.insight-card{border-radius:18px;background:var(--soft);border-color:var(--line)}
.viz-chart{color:#9fb37e}.viz-line{stroke:#386448;stroke-width:2}.viz-line-svg{height:220px}.viz-grid{stroke:var(--line)}.viz-active-marker{background:#28583c;border-color:var(--surface)}
.viz-switch{background:var(--soft);border-color:var(--line);border-radius:12px;padding:3px}.viz-switch button{border-radius:9px;font-size:11px;min-height:34px}
.viz-switch button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 2px 5px #334c2410}
.viz-tooltip,.viz-day-detail{border-color:var(--line);background:var(--surface);color:var(--ink);border-radius:15px}.viz-open{background:linear-gradient(145deg,var(--surface),var(--soft));border-color:var(--line);color:var(--ink)}
.viz-legend button{border-radius:13px;transition:background .2s}.viz-legend button[aria-pressed="true"]{background:var(--soft)}
dialog{padding:28px;border:1px solid var(--line);border-radius:27px;box-shadow:0 24px 80px #15332330;background:var(--surface);color:var(--ink)}
dialog::backdrop{background:#142d2590;backdrop-filter:blur(5px)}.dialog-head{padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:20px}.dialog-head h2{font-size:25px;font-weight:750}
input,select,textarea{border-radius:13px;background:var(--surface);border-color:var(--line);color:var(--ink)}
.toast{background:#264e39;color:#f3f7ec;border:1px solid #597d56;border-radius:17px;box-shadow:0 10px 30px #163d2f30}
.badge{border-radius:100px;font-weight:650}.badge.good{background:#eaf1df;color:#416239}.badge.warning{background:#f3ecd7;color:#7d6535}
.section-menu-item{border-radius:15px;gap:14px}.section-menu-item .fi-material{width:32px;height:32px}.section-menu-item.active{background:var(--soft)}
.account-page .account-card.panel{border-radius:28px}.account-art-ring{border-color:var(--reference-lavender);border-right-color:var(--reference-peach);border-bottom-color:var(--surface)}
.account-header{padding-top:28px}.account-story h1{font-weight:750}.account-card h2{font-weight:750}.account-demo,.demo-strip{background:#e5edda;color:#52684c}
.account-page .account-card h2{font-size:34px;line-height:1.15;letter-spacing:-1.1px}
.fi-material{display:inline-flex;width:32px;height:32px;flex:0 0 auto;align-items:center;justify-content:center;vertical-align:middle;pointer-events:none;line-height:0}.fi-material>svg{display:block;width:100%;height:100%;overflow:hidden}
.fi-material-more{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:28px;height:28px;pointer-events:none;flex-shrink:0}.fi-material-more i{width:6px;height:6px;border-radius:50%;background:radial-gradient(circle at 30% 24%,#e7efdb,#7c9b6c 60%,#3e624c);box-shadow:0 2px 2px #254c3130}
.fi-material-card{display:inline-block;width:27px;height:20px;flex-shrink:0;vertical-align:middle;pointer-events:none;border-radius:5px;border:1px solid #648467;background:linear-gradient(135deg,#b6c8a0,#386349);box-shadow:inset 0 1px #eef1ce,1px 3px 4px #264a3428;position:relative;transform:none}
.fi-material-card:before{content:'';position:absolute;inset:4px 0 auto;height:4px;background:linear-gradient(90deg,#d6c08c,#9e824d)}.fi-material-card i{position:absolute;width:6px;height:4px;left:5px;bottom:3px;border-radius:1px;background:#dccb9b}
body[data-theme="dark"] .app-header{background:#21372bdc;border-color:#496146;box-shadow:none}body[data-theme="dark"] .nav{background:#13251b70}body[data-theme="dark"] .nav-item.active{background:#3a5135;color:#f1f6e7;box-shadow:inset 0 1px #72826640}
body[data-theme="dark"] .button.primary{background:linear-gradient(135deg,#bed09d,#93af7c);border-color:#aac28b;color:#142b1e;box-shadow:0 5px 16px #0002}
body[data-theme="dark"] .savings-card{background:radial-gradient(ellipse at 100% 80%,#485a32,transparent 80%),linear-gradient(145deg,#2d4029,#233823);border-color:#4a5c39;color:#e8edd6}
body[data-theme="dark"] .savings-card p,body[data-theme="dark"] .savings-card .eyebrow,body[data-theme="dark"] .goal-preview-amount{color:#bdcca8}body[data-theme="dark"] .goal-preview strong{color:#e1ebce}body[data-theme="dark"] .savings-card .button{background:#34492a;color:#e1ebce;border-color:#667850}
body[data-theme="dark"] .category-icon{background:linear-gradient(145deg,#354e35,#243d2b);border-color:#4c6344;box-shadow:inset 0 1px #77916b30}body[data-theme="dark"] .viz-line{stroke:#b4cd9f}body[data-theme="dark"] .viz-active-marker{background:#bad39f}body[data-theme="dark"] .badge.good{background:#364d2c;color:#d4e4ba}body[data-theme="dark"] .badge.warning{background:#524a2b;color:#e8d79c}body[data-theme="dark"] .demo-strip{background:#2d4329;color:#c6d5b3}
@media(hover:hover){.button:hover:not(:disabled),.viz-open:hover{box-shadow:0 7px 17px #45652e1a;filter:brightness(1.025)}.nav-item:hover{background:var(--surface)}.finance-clickable:hover{border-color:#9fb590;box-shadow:0 12px 26px #33582c1a}.category-row:hover .fi-material{transform:none}}
@media(min-width:1150px){.layout{padding-left:32px;padding-right:32px}.nav-symbol{display:flex}.nav-item{padding:7px 10px}.header-brand .brand>span:last-child{font-size:17px}}
@media(min-width:761px) and (max-width:1149px){.app-header{gap:12px;padding:10px 12px}.nav-symbol{display:flex;width:24px;height:24px}.nav-symbol .fi-material{width:100%;height:100%}.nav-item{font-size:9px;min-height:55px;padding:6px 8px}.app-header .brand>span:last-child{display:none}}
@media(max-width:760px){body{background-attachment:scroll}.app-header{background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:0}.nav{background:#fffffff0;border:1px solid #dce6d8;box-shadow:0 5px 30px #244c351c;border-radius:25px;backdrop-filter:blur(18px);padding:7px;gap:3px}.nav-item{font-size:9px;min-height:58px;border-radius:18px;padding:4px 6px;gap:3px}.nav-symbol{width:29px;height:29px;display:flex}.nav-symbol .fi-material{width:100%;height:100%}.nav-item.active{background:linear-gradient(145deg,#eaf1e1,#dfe9d6);box-shadow:inset 0 1px #fff;color:#3f6337}.heading h1{font-size:32px;letter-spacing:-1.2px}.heading{gap:16px}.heading p.muted{font-size:11px}.button.small{min-height:42px}.balance-card,.savings-card{padding:25px 23px;border-radius:25px;min-height:285px}.balance-card .balance-number{font-size:36px;letter-spacing:-1.6px;max-width:calc(100% - 60px)}.hero-decoration{width:82px;height:82px;right:7px;top:34px}.balance-bottom{gap:21px}.balance-bottom strong{font-size:17px}.savings-card .balance-number{font-size:35px}.savings-decoration{width:75px;height:75px;top:25px;right:9px}.metric{padding:22px;min-height:130px;border-radius:22px}.metric .value{font-size:29px}.panel,.goal-card,.account-card{padding:22px 19px;border-radius:23px}.panel h2{font-size:19px}.category-icon{width:43px;min-width:43px;height:43px;border-radius:14px}.category-icon .fi-material{width:100%;height:100%}.forecast-card{padding:24px 22px;border-radius:23px}.forecast-card h2{font-size:32px}.viz-line-svg{height:190px}dialog{padding:23px 20px;border-radius:24px}.dialog-head h2{font-size:23px}input,select,textarea{font-size:16px}.account-page .account-card.panel{padding:28px}.account-code-form input{font-size:26px}.account-page .account-primary{min-height:48px}body[data-theme="dark"] .app-header{background:transparent}body[data-theme="dark"] .nav{background:#20362bf0;border-color:#4a6045}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.category-row:hover .fi-material{transform:none!important}}
@media(max-width:760px){.account-page .account-card h2{font-size:30px}}

/* Keep the same centered art box in every component and on mobile Safari. */
.category-icon,.planned-icon,.nav-symbol,.metric-icon{box-sizing:border-box;overflow:hidden}
.icon-button{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.app-icon{display:block;flex-shrink:0}
.insight-symbol .fi-material{width:24px;height:24px}
.setup-mode-icon .fi-material{width:32px;height:32px}
.setup-priorities .fi-material{width:22px;height:22px}
.nav-symbol .fi-material-more{width:100%;height:100%;gap:3px}
