/* Вместе · a quiet glass board. All assets are served locally. */
:root{font-family:'Segoe UI',Arial,sans-serif;color:#f7f7f7;background:#515354;font-synthesis:none;--muted:#c1c3c4;--line:#ffffff18;--accent:#30baff;--card:#ffffff0c;--green:#30baff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(120deg,#25272872,#34373850),url('room.svg') center/cover fixed;letter-spacing:.05px}body:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 42% 0%,#d9ded321,transparent 60%);pointer-events:none}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{transition:background .2s,border-color .2s,transform .2s}button:hover{background:#ffffff12}svg{flex-shrink:0}#app{position:relative;max-width:1450px;min-height:850px;margin:60px auto;padding:18px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:23px;background:linear-gradient(130deg,#d7d9d934,#66696a50);border:1px solid #ffffff32;border-radius:32px;box-shadow:0 24px 55px #0005,inset 0 1px 0 #fff2;backdrop-filter:blur(35px);-webkit-backdrop-filter:blur(35px)}aside{display:flex;align-items:center;flex-direction:column;border:1px solid #ffffff1d;border-radius:24px;background:linear-gradient(160deg,#ffffff12,#ffffff04);padding:10px 8px;min-height:100%;gap:18px}.brand{display:grid;place-items:center;width:54px;height:54px;background:#0000000d;border-radius:18px}nav{display:flex;flex-direction:column;gap:16px;width:100%;align-items:center}nav button{width:48px;height:48px;display:grid;place-items:center;color:#e0e0e0;border:1px solid transparent;border-radius:15px}nav button.active{background:#ffffff16;border-color:#ffffff0c;color:white;box-shadow:0 5px 14px #0000000b}.rail-bottom{margin-top:auto;display:grid;place-items:center;width:45px;height:45px;border-radius:50%}main{min-width:0;padding:14px 8px 0 0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:43px}.top-tabs{display:flex;gap:28px}.top-tabs button{font-size:16px;color:#c1c2c3;padding:10px 0;white-space:nowrap}.top-tabs button:hover{background:none;color:#fff}.top-tabs button.selected{color:#fff;font-weight:600}.top-tools{display:flex;align-items:center;gap:13px}.round{width:38px;height:38px;border-radius:50%;background:#00000012;display:inline-grid;place-items:center}.add-round{border:1px dashed #fff5;background:transparent}.tool-divider{height:30px;width:1px;background:#ffffff20;margin:0 4px}.avatar{width:38px;height:38px;display:grid;place-items:center;border:2px solid #ffffff90;border-radius:50%;background:linear-gradient(145deg,#d8dfdd,#879897);color:#3b5359;font-weight:650;font-size:var(--text-title)}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:26px 0 23px}.eyebrow{font-size:var(--text-small);letter-spacing:1.7px;color:#c4c6c7}h1{font-size:25px;font-weight:500;letter-spacing:-.6px;margin:6px 0 6px}p{font-size:var(--text-small);line-height:1.7;color:var(--muted);margin:0}h2{font-size:var(--text-title);font-weight:500;letter-spacing:0;margin:0}h3{font-size:var(--text-title);font-weight:500;margin:0}.month{display:flex;align-items:center;gap:14px;font-size:var(--text-small);color:#e3e4e4;white-space:nowrap}.month button{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ffffff08;font-size:19px}.card{background:linear-gradient(135deg,#ffffff12,#ffffff07);border:1px solid #ffffff20;border-radius:23px;padding:20px;min-width:0;box-shadow:inset 0 1px 0 #ffffff05}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.section-head p{font-size:var(--text-small);margin-top:5px}.text-btn{font-size:var(--text-small);color:#d8d9da;display:inline-flex;align-items:center;gap:5px;padding:3px;border-radius:4px}.badge{background:#00000013;border:1px solid #ffffff0d;border-radius:20px;font-size:var(--text-small);color:#dedede;padding:5px 9px;white-space:nowrap}.board-grid{display:grid;grid-template-columns:minmax(215px,.88fr) minmax(310px,1.35fr) minmax(260px,1.1fr);gap:14px;align-items:start}.board-left,.board-center,.board-right{display:grid;gap:14px;min-width:0}.account-line{display:flex;align-items:center;gap:9px;padding:7px 0}.mini-avatar{background:#dbd6cc;color:#616769;width:29px;height:29px;display:grid;place-items:center;border:1px solid #fff5;border-radius:50%;font-size:var(--text-small);font-weight:600}.mini-avatar.husband{background:#bac5cc;color:#4c5e68}.mini-avatar.common{background:#ffffff12;color:white}.account-line strong{display:block;font-size:var(--text-small);font-weight:500}.account-line small{display:block;color:var(--muted);font-size:var(--text-small);margin-top:2px}.account-line b{margin-left:auto;font-size:var(--text-small);font-weight:500}.owner-note{font-size:var(--text-small);color:#bfc3c4;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:flex;gap:6px;align-items:center}.accounts-card{padding:18px}.accounts-card .section-head{margin-bottom:8px}.goal{padding:20px 18px 16px}.goal-dial{position:relative;max-width:238px;width:100%;margin:-2px auto -1px;aspect-ratio:1}.goal-dial>svg{display:block;width:100%;height:100%;overflow:visible}.dial-base{fill:none;stroke:#ffffff1e;stroke-width:10}.dial-ticks{fill:none;stroke:#ffffff3a;stroke-width:9;stroke-dasharray:1 6;transform:rotate(-90deg);transform-origin:50% 50%}.dial-progress{fill:none;stroke:var(--accent);stroke-width:10;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;filter:drop-shadow(0 0 5px #30baff22)}.dial-point{fill:#777f84;stroke:var(--accent);stroke-width:4}.dial-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.dial-content>svg{color:#e6e9e9;margin-bottom:8px;opacity:.8}.dial-content strong{font-size:38px;font-weight:500;letter-spacing:-1.5px}.dial-content small{font-size:var(--text-small);color:#d1d2d3;margin-top:3px}.goal-amount{text-align:center;font-size:20px;letter-spacing:-.3px}.goal-amount small{display:block;font-size:var(--text-small);letter-spacing:0;color:#c1c3c4;margin-top:5px}.goal-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:11px;margin-top:17px}.goal-footer span{font-size:var(--text-small);color:#c9cccd}.goal-footer .round{height:29px;width:29px}.flow-card{padding:20px 0 0;overflow:hidden}.flow-card .section-head{padding:0 20px;margin-bottom:13px}.flow-top{display:flex;align-items:center;justify-content:space-between;padding:0 20px}.flow-top strong{font-size:35px;font-weight:500;letter-spacing:-1.5px;display:block;white-space:nowrap}.flow-top small{color:#c3c5c6;font-size:var(--text-small);display:block;margin-top:5px}.flow-icon{opacity:.55}.flow-chart{width:100%;height:82px;display:block;margin-top:14px;overflow:visible}.chart-labels{display:flex;justify-content:space-between;padding:5px 18px 13px;color:#c5c7c8;font-size:var(--text-small)}.flow-totals{display:grid;grid-template-columns:1fr 1fr 1fr;background:#ffffff06;border-top:1px solid var(--line);padding:14px 18px;gap:6px}.flow-totals small{display:block;color:#c0c3c4;font-size:var(--text-small);margin-bottom:6px}.flow-totals strong{font-size:var(--text-title);font-weight:500}.blue{color:#62ceff}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-card{display:flex;text-align:left;align-items:center;gap:10px;border-radius:19px;padding:17px 13px;min-height:99px}.quick-card>svg{margin-left:auto;color:#d8dddd;width:14px}.quick-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#2fbaff24;color:#7ad6ff;flex-shrink:0}.expense-icon{background:#ffffff15;color:#fff}.quick-card strong{font-size:var(--text-body);display:block;font-weight:500}.quick-card small{font-size:var(--text-small);line-height:1.5;color:#c5c6c7;display:block;margin-top:5px}.weekly-card{padding-bottom:14px}.weekly-bars{height:140px;display:flex;gap:18px;align-items:stretch;padding:2px 8px 0}.bar-item{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}.bar-item>small{font-size:var(--text-small);white-space:nowrap;color:#d9dddf}.bar-slot{flex:1;width:100%;max-width:31px;display:flex;align-items:flex-end;border-bottom:1px solid #fff3}.bar{width:100%;border-radius:7px 7px 0 0;background:#ffffff35;min-height:4px}.bar.filled{background:linear-gradient(#53c8ff,#1baceb)}.bar-item>span{font-size:var(--text-small);color:#c7c9ca}.hint{font-size:var(--text-small);color:#c0c3c4;line-height:1.7;margin-top:12px}.weekly-card .hint{font-size:var(--text-small);margin-top:13px}.category-tiles{display:grid;grid-template-columns:1fr 1fr;gap:9px}.categories-card{padding:17px 12px 12px}.categories-card>.section-head{padding:0 5px}.category-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#ffffff0c;border:1px solid #ffffff10;border-radius:16px;padding:12px 12px 10px;min-height:117px;position:relative}.category-tile:hover{background:#ffffff20;border-color:#ffffff40;transform:translateY(-1px)}.tile-top{display:flex;justify-content:space-between;align-items:center;width:100%;color:#e9eced;margin-bottom:12px}.tile-plus{font-size:var(--text-body);width:23px;height:15px;border-radius:10px;background:#ffffff18;display:grid;place-items:center;color:#eee}.category-tile strong{font-size:17px;font-weight:500;margin-bottom:4px;letter-spacing:-.4px}.category-tile>span{font-size:var(--text-small)}.category-tile small{font-size:var(--text-small);color:#c2c5c6;margin-top:4px}.tile-track{height:2px;background:#ffffff10;border-radius:5px;overflow:hidden;width:100%;margin-top:9px}.tile-track i{display:block;height:100%;background:var(--accent);max-width:100%}.has-expense .tile-plus{background:#2ebcff;color:white}.care-mini{padding:18px}.care-mini h2{display:flex;align-items:center;gap:7px;font-size:var(--text-body)}.care-mini .section-head{margin-bottom:12px}.care-amount{font-size:28px;font-weight:500;letter-spacing:-.6px}.care-amount small{font-size:var(--text-small);color:#bfc4c6;margin-left:7px;letter-spacing:0}.care-mini p{font-size:var(--text-small);margin-top:6px}.care-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:var(--text-small);color:#c2c6c8}.care-footer strong{font-weight:500;color:#e8e9ea;font-size:var(--text-small)}.board-bottom{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.next-card,.recent-card{min-height:174px}.next-payments{display:grid;grid-template-columns:1fr 1fr;gap:8px}.salary-tile{display:flex;text-align:left;align-items:center;gap:9px;padding:10px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff06}.salary-day{font-size:19px;font-weight:500;line-height:1;min-width:24px}.salary-day small{display:block;font-size:var(--text-small);color:#c1c4c6;margin-top:4px}.salary-who{font-size:var(--text-small);color:#d1d4d5}.salary-who strong{display:block;font-size:var(--text-small);color:#f2f4f4;font-weight:500;margin-top:4px}.salary-plus{margin-left:auto;font-size:15px;color:#b8c2c6}.next-card .hint{font-size:var(--text-small);margin-top:9px}.empty{text-align:center;padding:10px 8px}.empty-icon{display:block;font-size:22px;color:#b8c7cf;margin-bottom:8px}.empty h3{font-size:var(--text-small);margin:7px 0}.empty p{font-size:var(--text-small);max-width:290px;margin:auto;line-height:1.7}.empty button{margin-top:12px}.primary,.secondary{padding:11px 16px;border-radius:10px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:var(--text-small)}.primary{background:#35b9f6;color:#112b38;font-weight:600;border:1px solid #6dcdff55}.primary:hover{background:#70cefa}.secondary{border:1px solid #ffffff30;background:#ffffff0b;color:#f3f3f3}.footer{display:flex;justify-content:space-between;font-size:var(--text-small);color:#c3c8ca;padding:20px 3px 3px;gap:12px}.footer>span{display:flex;align-items:center;gap:6px}.status-dot{width:4px;height:4px;border-radius:50%;background:#5bcaff;box-shadow:0 0 7px #49c1ff88}.foot-dot{margin:0 8px;color:#899298}.columns{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.stack{display:grid;gap:18px;align-content:start}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}label{display:grid;gap:8px;font-size:var(--text-small);color:#d5d9db}label.full{grid-column:1/-1}input,select{width:100%;min-width:0;background:#252b303b;color:#fff;border:1px solid #ffffff29;border-radius:9px;padding:12px;font-size:var(--text-body);outline-color:#45bafa;color-scheme:dark}input::placeholder{color:#b5bbc0}select option{background:#555c60;color:#fff}form>.primary{margin-top:20px}input:focus,select:focus{outline:1px solid #58c6ff;border-color:#58c6ff}.budget-row{padding:16px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:10px;font-size:var(--text-small)}.budget-row strong{font-weight:500;font-size:var(--text-small)}.budget-row small{font-size:var(--text-small);color:#c4cbcf}.progress{height:4px;border-radius:9px;overflow:hidden;background:#ffffff1c;grid-column:1/-1}.progress>span{height:100%;display:block;background:var(--accent)!important;max-width:100%}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:8px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filters input{flex:1;min-width:160px}.filters select{width:auto}.transactions{margin-top:20px}table{width:100%;border-collapse:collapse;font-size:var(--text-small)}th{text-align:left;color:#bbc3c7;font-size:var(--text-small);font-weight:400;padding:0 6px 12px}td{padding:13px 6px;border-top:1px solid var(--line)}td strong{font-weight:500}td small{display:block;color:#c0c6c9;font-size:var(--text-small);margin-top:4px}td:last-child{text-align:right;width:22px}.chip{padding:4px 7px;border-radius:5px;font-size:var(--text-small);white-space:nowrap;background:#ffffff0e;color:#d1d9dd}.positive{color:#8ad9ff}.negative{color:#e7ebed}.delete{font-size:17px;color:#bbc3c8}.banner{background:#ffffff0d;border:1px solid var(--line);border-radius:12px;padding:15px 18px;display:flex;justify-content:space-between;gap:20px;font-size:var(--text-small);margin-bottom:20px;color:#d8dee1;line-height:1.8}.banner button{font-size:var(--text-small);color:#87d8ff;white-space:nowrap}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.weekday{font-size:var(--text-small);color:#c8cdd0;padding:9px;text-align:center}.day{min-height:110px;border:1px solid #ffffff20;border-radius:14px;background:#ffffff08;padding:12px;font-size:var(--text-body)}.day.today{border-color:#60cbff;background:#41baff10}.event{display:block;background:#00000018!important;color:#e5ecf1;border-radius:6px;padding:6px;font-size:var(--text-small);margin-top:8px;line-height:1.6}.cosmetic-value{font-size:30px;letter-spacing:-1px;margin:20px 0 8px}.cosmetic-value small{font-size:var(--text-body);letter-spacing:0}.cosmetic .bottom{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:var(--text-small);color:#d0d7db}.cosmetic p{color:#c9d0d5}.expense-layout{display:flex;gap:25px;align-items:center}.donut{width:130px;height:130px;border-radius:50%;background:#ffffff18;display:grid;place-items:center;position:relative;flex-shrink:0}.donut:after{content:'';position:absolute;inset:16px;border-radius:50%;background:#656b70}.donut-label{position:relative;z-index:1;font-size:16px;text-align:center}.donut-label small{display:block;font-size:var(--text-small);margin-top:4px;color:#c6cdd1}.legend{flex:1;display:grid;gap:12px}.legend-row{display:flex;justify-content:space-between;font-size:var(--text-small);gap:10px}.legend-row strong{font-weight:500}.payments{display:grid}.payment{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.date-box{width:40px;border-radius:9px;background:#ffffff0e;padding:8px;text-align:center;font-size:18px}.date-box small{display:block;font-size:var(--text-small)}.payment-info{flex:1}.payment-info strong{display:block;font-size:var(--text-small);font-weight:500}.payment-info small{display:block;font-size:var(--text-small);color:#c3ccd0;margin-top:4px}.payment-sum{font-size:var(--text-body);color:#84d7ff}.payment-sum small{display:block;font-size:var(--text-small);color:#c2cbd0;margin-top:5px}dialog{width:min(490px,calc(100vw - 28px));border:1px solid #ffffff40;border-radius:24px;background:linear-gradient(140deg,#686e73f7,#414a50f7);color:#f8f9fa;padding:28px;box-shadow:0 25px 100px #0006;backdrop-filter:blur(28px)}dialog::backdrop{background:#121b2366;backdrop-filter:blur(6px)}dialog .section-head{margin-bottom:25px}dialog h2{font-size:22px;font-weight:500}dialog .close{font-size:24px;color:#c3cbd0}dialog .primary{width:100%}#toast{display:none;position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:100;background:#46545ef2;color:white;border:1px solid #ffffff3a;padding:14px 23px;border-radius:13px;font-size:var(--text-body);box-shadow:0 8px 35px #0003;backdrop-filter:blur(18px)}
@media(min-width:1550px){#app{margin-top:80px;margin-bottom:80px;gap:28px;padding:20px}.board-grid{gap:18px}.board-left,.board-center,.board-right{gap:18px}.card{padding:23px}.categories-card{padding:20px 14px 14px}.category-tile{min-height:125px}.goal-dial{max-width:260px}.weekly-bars{height:155px}.flow-chart{height:98px}.flow-card{padding:23px 0 0}.board-bottom{gap:18px}.heading{margin-top:30px;margin-bottom:25px}}
@media(max-width:1500px){#app{margin:35px 32px}}
@media(max-width:1200px){#app{margin:25px 22px;padding:14px;gap:18px;grid-template-columns:64px minmax(0,1fr);border-radius:28px}aside{padding:9px 4px}.brand{width:48px;height:48px}.board-grid{grid-template-columns:minmax(185px,.9fr) minmax(270px,1.3fr) minmax(225px,1.1fr);gap:12px}.board-left,.board-center,.board-right{gap:12px}.card{padding:17px}.flow-card{padding:17px 0 0}.flow-top strong{font-size:30px}.flow-card .section-head,.flow-top{padding-left:17px;padding-right:17px}.flow-totals{padding:14px}.category-tile{padding:11px 9px;min-height:111px}.categories-card{padding:16px 10px 10px}.quick-card{padding:14px 10px;gap:7px;min-height:90px}.quick-card small{font-size:var(--text-small)}.quick-card>svg{display:none}.goal-dial{margin-top:5px;margin-bottom:5px}.top-tabs{gap:22px}.top-tabs button{font-size:var(--text-title)}.flow-chart{height:80px}.weekly-bars{height:132px;gap:14px}.board-bottom{gap:12px}.chart-labels{padding-left:14px;padding-right:14px}.category-tile small{font-size:var(--text-small)}.care-amount{font-size:25px}}
@media(max-width:900px){#app{grid-template-columns:58px minmax(0,1fr);margin:22px 16px;gap:16px;padding:12px}.board-grid{grid-template-columns:minmax(220px,.9fr) minmax(300px,1.3fr)}.board-left{grid-column:1;grid-row:1}.board-center{grid-column:2;grid-row:1}.board-right{grid-column:1/-1;grid-template-columns:1.6fr 1fr;align-items:start}.category-tiles{grid-template-columns:repeat(4,1fr)}.category-tile{min-height:112px}.care-mini{min-height:245px;display:flex;flex-direction:column;justify-content:space-between}.board-bottom{grid-template-columns:1fr 1fr}.goal-dial{max-width:235px}.flow-chart{height:100px}.weekly-bars{height:165px}.top-tools{gap:9px}.top-tabs{gap:20px}.top-tabs button{font-size:var(--text-title)}.tool-divider{display:none}.quick-card{min-height:94px}.chart-labels{font-size:var(--text-small)}.board-left,.board-center{gap:14px}.next-payments{grid-template-columns:1fr}.salary-tile{padding:8px}.salary-day{font-size:16px}.salary-who{display:flex;align-items:center;gap:10px}.salary-who strong{margin:0}.footer{font-size:var(--text-small)}.brand{width:45px;height:45px}nav button{width:43px;height:43px}nav{gap:17px}.board-right .section-head{min-height:22px}.care-amount{font-size:30px}.heading{margin-top:25px}.settings-grid,.columns{gap:14px}}
@media(max-width:760px){#app{margin:15px 10px;padding:10px;grid-template-columns:1fr;gap:0;border-radius:24px;min-height:100vh}aside{position:relative;flex-direction:row;min-height:0;justify-content:space-between;border-radius:17px;padding:4px 8px;gap:10px}.brand{width:35px;height:35px;background:transparent}.brand svg{width:21px}nav{flex-direction:row;gap:5px;width:auto}nav button{width:35px;height:35px;border-radius:11px}nav svg{width:18px;height:18px}.rail-bottom{width:30px;height:30px;margin:0}.rail-bottom svg{width:17px}main{padding:21px 4px 0}.top-tabs{gap:22px}.top-tabs button{font-size:var(--text-title)}.top-tools .round{display:none}.top-tools .avatar{width:30px;height:30px;font-size:var(--text-small)}.topbar{gap:12px}.heading{margin:22px 0}.eyebrow{font-size:var(--text-small);letter-spacing:1px}h1{font-size:23px}.heading p{font-size:var(--text-small)}.month{font-size:var(--text-small);gap:6px}.month button{width:21px;height:21px}.board-grid{grid-template-columns:1fr 1.15fr;gap:10px}.board-left,.board-center{gap:10px}.accounts-card{padding:15px}.account-line{gap:7px}.account-line b{font-size:var(--text-small)}.account-line small{font-size:var(--text-small)}.mini-avatar{width:25px;height:25px}.goal{padding:16px 12px}.goal h2{font-size:var(--text-body)}.goal-dial{margin:9px auto;max-width:210px}.dial-content strong{font-size:33px}.goal-amount{font-size:18px}.goal-footer span{font-size:var(--text-small)}.flow-top strong{font-size:28px}.flow-chart{height:93px}.flow-card .section-head h2{font-size:var(--text-body)}.flow-card .badge{font-size:var(--text-small);padding:5px}.flow-card .section-head{gap:3px;padding:0 13px}.flow-top{padding:0 13px}.flow-icon{display:none}.flow-totals{padding:14px 12px}.flow-totals strong{font-size:var(--text-small)}.flow-totals small{font-size:var(--text-small)}.quick-actions{gap:8px}.quick-card{padding:12px 8px;flex-wrap:wrap;gap:7px;min-height:91px}.quick-icon{width:26px;height:26px}.quick-icon svg{width:19px}.quick-card strong{font-size:var(--text-small)}.quick-card small{font-size:var(--text-small);margin-top:3px}.weekly-card{padding:15px 13px}.weekly-card h2{font-size:var(--text-small)}.weekly-bars{height:135px;padding:0;gap:10px}.weekly-card .badge{font-size:var(--text-small)}.weekly-card .hint{font-size:var(--text-small)}.board-right{grid-template-columns:1fr}.category-tiles{grid-template-columns:repeat(4,1fr)}.category-tile{min-height:110px}.care-mini{min-height:0;display:block}.care-mini .section-head{margin-bottom:8px}.care-footer{margin-top:9px;padding-top:9px}.care-amount{font-size:27px}.board-bottom{grid-template-columns:1fr;gap:10px}.salary-who{display:block}.salary-who strong{margin-top:4px}.next-payments{grid-template-columns:1fr 1fr}.salary-tile{padding:11px}.next-card,.recent-card{min-height:0}.settings-grid,.columns{grid-template-columns:1fr}.form-grid{gap:14px}.calendar-grid{gap:4px}.day{padding:7px;min-height:100px;border-radius:9px}.event{font-size:var(--text-small);padding:4px;overflow-wrap:anywhere}.calendar-grid .weekday{font-size:var(--text-small)}.banner{font-size:var(--text-small);padding:13px;gap:12px}.banner button{font-size:var(--text-small)}.footer{padding-top:17px;font-size:var(--text-small)}dialog{padding:23px}.category-tile>span{font-size:var(--text-small)}.category-tile small{font-size:var(--text-small)}}
@media(max-width:480px){.top-tabs{gap:18px}.top-tabs button{font-size:var(--text-body)}.heading{display:block;margin-bottom:18px}.month{margin-top:15px;justify-content:flex-end}.heading h1{font-size:25px}.board-grid{grid-template-columns:1fr}.board-left,.board-center{grid-column:auto;grid-row:auto}.board-left{grid-template-columns:1fr}.accounts-card{padding:17px}.account-line{padding:8px 0}.account-line strong{font-size:var(--text-small)}.account-line small{font-size:var(--text-small)}.account-line b{font-size:var(--text-body)}.mini-avatar{width:28px;height:28px}.goal{padding:18px}.goal-dial{max-width:215px;margin:2px auto}.goal-amount{font-size:22px}.goal-footer span{font-size:var(--text-small)}.goal-footer .round{width:31px;height:31px}.board-center{gap:10px}.flow-card{padding-top:18px}.flow-card .section-head,.flow-top{padding-left:18px;padding-right:18px}.flow-top strong{font-size:36px}.flow-top small{font-size:var(--text-small)}.flow-chart{height:100px}.chart-labels{font-size:var(--text-small);padding:8px 18px 14px}.flow-totals{padding:16px 18px}.flow-totals strong{font-size:var(--text-title)}.flow-totals small{font-size:var(--text-small)}.quick-card{padding:19px;min-height:95px;flex-wrap:nowrap}.quick-card strong{font-size:var(--text-body)}.quick-card small{font-size:var(--text-small)}.quick-icon{width:30px;height:30px}.weekly-bars{height:130px;gap:25px;padding:0 6px}.weekly-card{padding:18px}.weekly-card h2{font-size:var(--text-title)}.weekly-card .hint{font-size:var(--text-small)}.bar-item small,.bar-item>span{font-size:var(--text-small)}.category-tiles{grid-template-columns:1fr 1fr;gap:9px}.category-tile{min-height:125px;padding:14px}.category-tile>span{font-size:var(--text-small)}.category-tile strong{font-size:21px}.category-tile small{font-size:var(--text-small)}.tile-top{margin-bottom:13px}.tile-track{margin-top:12px}.categories-card{padding:17px 12px 12px}.care-mini{padding:19px}.next-card,.recent-card{padding:19px}.section-head h2{font-size:var(--text-title)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.calendar-grid{gap:3px}.day{padding:5px;min-height:95px;font-size:var(--text-small)}.event{font-size:var(--text-small);padding:3px}.expense-layout{gap:18px}.donut{width:105px;height:105px}.legend-row{font-size:var(--text-small)}.footer{font-size:var(--text-small)}.top-tools{gap:0}.recent-card{overflow-x:auto}table{font-size:var(--text-small)}.goal-footer{margin-top:14px}.card{border-radius:20px}.next-payments{gap:7px}.salary-tile{padding:9px}.salary-who strong{font-size:var(--text-small)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Savings bank */
.savings-card{padding:18px}.savings-card .section-head{margin-bottom:0}.savings-wheel{position:relative;width:100%;max-width:340px;margin:10px auto;aspect-ratio:1}.savings-wheel svg{width:100%;height:100%;display:block}.savings-center{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.savings-center>span{font-size:var(--text-small);color:#d1d8dc}.savings-center strong{font-size:26px;font-weight:500;letter-spacing:-.7px;margin:7px 0;max-width:70%;overflow-wrap:anywhere;text-align:center}.savings-center small{font-size:var(--text-small);color:#bac6cd}.savings-wheel.compact{max-width:230px;margin:0 auto}.compact .savings-center strong{font-size:21px}.compact .savings-center>span{font-size:var(--text-small)}.compact .savings-center small{font-size:var(--text-small)}.savings-mini-legend{display:grid;gap:10px;margin:4px 0 16px}.savings-mini-legend>div{display:flex;justify-content:space-between;gap:10px;font-size:var(--text-small)}.savings-mini-legend>div>span{overflow-wrap:anywhere;min-width:0}.savings-mini-legend strong{font-size:var(--text-small);font-weight:500;white-space:nowrap}.add-pot{width:100%;padding:11px 9px;border:1px dashed #ffffff40;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--text-small);color:#d7e9f2}.savings-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.8fr);gap:20px;align-items:start}.savings-summary{position:sticky;top:20px}.savings-summary .primary{width:100%;margin-top:22px}.pots-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pot-card .section-head h2{overflow-wrap:anywhere;line-height:1.6}.pot-amount{font-size:29px;font-weight:500;letter-spacing:-.8px;display:block;margin:8px 0}.pot-card .progress{margin-top:20px}.pot-progress-label{display:flex;justify-content:space-between;gap:12px;color:#c5d0d6;font-size:var(--text-small);margin-top:9px}.pot-month{font-size:var(--text-small);color:#bdcbd3;margin-top:22px}.pot-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.pot-actions button{font-size:var(--text-small);padding:10px 13px}.create-pot-card{min-height:210px;border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.create-pot-card>svg{color:#8fdcff}.create-pot-card strong{font-size:var(--text-title);font-weight:500}.create-pot-card span{font-size:var(--text-small);color:#c2cdd4}.form-error{color:#ffccbb;font-size:var(--text-small);margin-top:13px}button:disabled{opacity:.35;cursor:default}.savings-summary .hint{font-size:var(--text-small)}
@media(max-width:1100px){.savings-layout{grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:14px}.pots-grid{grid-template-columns:1fr}.savings-center strong{font-size:23px}}
@media(max-width:760px){.savings-layout{grid-template-columns:1fr}.savings-summary{position:static}.savings-wheel{max-width:290px}.pots-grid{grid-template-columns:1fr 1fr}.savings-wheel.compact{max-width:210px}.savings-card{padding:16px}.savings-center strong{font-size:25px}}
@media(max-width:480px){.pots-grid{grid-template-columns:1fr}.savings-wheel.compact{max-width:220px}.savings-mini-legend>div,.savings-mini-legend strong{font-size:var(--text-small)}.add-pot{font-size:var(--text-body);padding:13px}.savings-card{padding:19px}.pot-progress-label{font-size:var(--text-small)}.savings-layout{gap:12px}}
/* Warm evening interior, clear navigation and centered chart controls. */
body{background:linear-gradient(115deg,rgba(18,13,10,.58),rgba(36,21,12,.12) 60%,rgba(16,12,9,.38)),url('warm-room.png') center 64%/cover fixed;background-color:#281c12}
body:before{background:radial-gradient(ellipse at 76% 72%,#ef9b2914,transparent 58%)}
#app{background:linear-gradient(135deg,rgba(66,56,48,.72),rgba(28,27,25,.68));border-color:#e8cfaf36;box-shadow:0 26px 80px #0c08085c,inset 0 1px 0 #fff1;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
aside{background:linear-gradient(180deg,#ffffff0d,#ffffff03);border-color:#f2dbc31c}
.card{background:linear-gradient(135deg,#f6e7d711,#ffffff05);border-color:#ecd4b527;box-shadow:inset 0 1px 0 #fff04,0 4px 16px #00000005}
.top-tabs button{color:#d5c9bd}.top-tabs button.selected{color:#fffaf4}.eyebrow{color:#d0c0af}.heading p{color:#d0c6bc}p,.hint{color:#cfc6be}
nav{gap:10px}nav button{position:relative;width:52px;height:56px;padding:8px 3px 5px;display:flex;flex-direction:column;justify-content:center;gap:5px;color:#d6cdc4;border-radius:15px;flex-shrink:0}
.nav-caption{font-size:var(--text-small);line-height:1.1;letter-spacing:.1px;white-space:nowrap}
nav button.active{color:#effbff;background:linear-gradient(140deg,#46bfff32,#4db8ed13);border-color:#77cfff66;box-shadow:0 0 18px #29b8ff14,inset 0 1px 0 #fff1}
nav button.active:before{content:'';position:absolute;left:-6px;top:18px;height:18px;width:3px;background:#68cdff;border-radius:5px;box-shadow:0 0 9px #35beff88}
nav .nav-bank{color:#90d9fc;background:#37b8f50c}nav .nav-goal{color:#efc892;background:#dbad620a}
nav button:hover{color:#fff;background:#ffffff18;transform:translateY(-2px)}nav button.active svg{filter:drop-shadow(0 0 5px #68ccff50)}
button{transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,color .2s ease}
.primary:hover{box-shadow:0 4px 17px #22b5ff25;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px) scale(.98)}
.category-tile:hover,.quick-card:hover,.salary-tile:hover,.create-pot-card:hover{box-shadow:0 7px 18px #00000015;border-color:#ead7c24d;transform:translateY(-2px)}
.card{animation:card-appear .38s ease backwards}.board-center>.card{animation-delay:.045s}.board-right>.card{animation-delay:.075s}.board-bottom>.card{animation-delay:.1s}
@keyframes card-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes dialog-appear{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
dialog[open]{animation:dialog-appear .2s ease both}dialog{background:linear-gradient(145deg,#50473ff7,#292b2df7);border-color:#ecd4b540}
.progress>span,.tile-track>i{transition:width .45s ease}.dial-progress{transition:stroke-dasharray .6s ease}.dial-point{transition:cx .6s ease,cy .6s ease}.bar{transition:height .45s ease}
.savings-wheel>svg{width:100%;height:100%;display:block}.savings-wheel .savings-center svg{width:14px;height:14px;display:block}
.savings-center{inset:26%;width:48%;height:48%;margin:0;display:flex;align-items:center;justify-content:center;gap:5px;text-align:center;line-height:1.15;pointer-events:none}
.savings-center>span{font-size:clamp(8px,1vw,10px);line-height:1.3;max-width:100%}.savings-center strong{font-size:clamp(16px,2.1vw,26px);font-variant-numeric:tabular-nums;font-weight:500;line-height:1.15;letter-spacing:-.6px;margin:0;max-width:100%;width:100%;overflow-wrap:normal;white-space:nowrap}.savings-center small{font-size:var(--text-small);max-width:100%;line-height:1.35}
.compact .savings-center{gap:4px}.compact .savings-center strong{font-size:clamp(13px,1.5vw,20px)}.compact .savings-center>span{font-size:var(--text-small)}.compact .savings-center small{font-size:var(--text-small);line-height:1.3}
.circle-controls{display:flex;align-items:center;justify-content:center;gap:7px;margin:4px auto 0;flex-shrink:0;pointer-events:auto;position:relative;z-index:2}
.circle-controls button{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid #ffffff35;border-radius:50%;background:#ffffff0d;color:#e7eff3;box-shadow:0 2px 5px #0000000a;flex-shrink:0}
.circle-controls button:first-child{color:#9cdeff;border-color:#74cfff4d;background:#43bfff13}.circle-controls button:hover{background:#6dceff2b;border-color:#8bd7ff;transform:translateY(-1px)}
.compact .circle-controls{gap:6px;margin-top:2px}.compact .circle-controls button{width:23px;height:23px}.compact .circle-controls svg{width:12px;height:12px}
.dial-content{inset:24%;width:52%;height:52%;margin:0;gap:5px;line-height:1.1;text-align:center}.dial-content>svg{margin:0 0 3px;width:24px;height:24px}.dial-content strong{line-height:1;margin:0;font-variant-numeric:tabular-nums}.dial-content small{margin-top:2px;line-height:1.3}
@media(max-width:1200px){nav button{width:48px;height:54px}.nav-caption{font-size:var(--text-small)}nav{gap:10px}}
@media(max-width:900px){nav button{width:44px;height:53px}.nav-caption{font-size:var(--text-small)}nav button.active:before{left:-4px}.compact .savings-center strong{font-size:18px}}
@media(max-width:760px){aside{padding:6px;gap:4px}.brand{width:27px;height:40px}nav{gap:3px;justify-content:space-between;flex:1;min-width:0}nav button{width:34px;height:43px;padding:5px 0;gap:4px;border-radius:10px}.nav-caption{font-size:var(--text-small)}nav svg{width:16px;height:16px}nav button.active:before{top:auto;bottom:-3px;left:calc(50% - 7px);width:14px;height:2px}.rail-bottom{width:23px;height:36px;flex-shrink:0}.rail-bottom svg{width:14px}.brand svg{width:19px}#app{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.savings-center strong{font-size:24px}.compact .savings-center strong{font-size:19px}.compact .savings-center small{font-size:var(--text-small)}}
@media(max-width:480px){body{background-position:58% center}aside{gap:1px;padding:6px 3px}nav{gap:1px}nav button{width:32px;height:43px}.brand{width:24px}.rail-bottom{width:20px}.nav-caption{font-size:var(--text-small)}.compact .savings-center strong{font-size:20px}.savings-center{gap:5px}.circle-controls{margin-top:3px}.savings-card .circle-controls button{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Readable typography and full-bleed background on large monitors. */
:root{--text-small:14px;--text-body:16px;--text-title:18px;color:#fffaf4;background:#191510}
html{min-height:100%;background:#191510;scrollbar-color:#817160 #211b16;scrollbar-width:thin}
body{display:flow-root;min-height:100svh;background:linear-gradient(110deg,#100c086b,#140d0824 65%,#100c0850),url('evening-room-wide.png') center center/cover fixed;background-color:#21160e}
body:before{background:radial-gradient(ellipse at 75% 75%,#ffb54a0a,transparent 60%);pointer-events:none}
#app{width:calc(100% - 96px);max-width:2200px;margin:40px auto;padding:24px;grid-template-columns:104px minmax(0,1fr);gap:28px;min-height:calc(100svh - 80px);background:linear-gradient(135deg,#302b25e0,#27231fce);border-color:#f5ddba40;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
aside{padding:14px 8px}.brand{width:64px;height:56px}nav{gap:12px}nav button{width:84px;height:69px;padding:10px 3px;gap:7px}nav svg{width:23px;height:23px}.nav-caption{font-size:12px;line-height:1.1;color:inherit;white-space:nowrap}nav button.active:before{left:-7px;top:24px;height:21px}nav .nav-bank{color:#9be0ff}nav .nav-goal{color:#f5d09e}
main{padding:15px 8px 0 0}.topbar{min-height:48px}.top-tabs{gap:32px}.top-tabs button{font-size:18px}.heading{margin:32px 0 28px}h1{font-size:34px;font-weight:600;letter-spacing:-.7px}.eyebrow{font-size:12px;letter-spacing:1.3px}.heading p{font-size:16px;color:#e5dcd3}.month{font-size:16px;gap:17px}.month button{height:32px;width:32px;font-size:24px}
.card{border-color:#d9c5ad38;background:linear-gradient(145deg,#ffffff0f,#ffffff06);padding:25px}h2{font-size:18px;font-weight:600;line-height:1.4}.section-head{margin-bottom:21px}.badge{font-size:12px;padding:6px 11px;background:#15141352;color:#ede7df}.text-btn{font-size:14px;color:#f0e7dc}p,.hint{color:#e1d7cd;font-size:14px;line-height:1.7}small{line-height:1.4}.board-grid{grid-template-columns:minmax(280px,.95fr) minmax(400px,1.4fr) minmax(330px,1.13fr);gap:20px}.board-left,.board-center,.board-right{gap:20px}.board-bottom{gap:20px;margin-top:0}.accounts-card{padding:24px}.account-line{padding:12px 0;gap:13px}.account-line strong{font-size:16px;font-weight:500}.account-line small{font-size:13px;color:#e0d6cd}.account-line b{font-size:17px}.mini-avatar{width:39px;height:39px;font-size:14px}.owner-note{font-size:13px;line-height:1.5;margin-top:15px;padding-top:15px}.owner-note svg{width:15px;height:15px}
.flow-card{padding:25px 0 0}.flow-card .section-head,.flow-top{padding:0 25px}.flow-top strong{font-size:44px}.flow-top small{font-size:14px;color:#e0d8d0}.flow-chart{height:135px;margin-top:24px}.chart-labels{font-size:12px;padding:8px 23px 20px}.flow-totals{padding:20px 24px;gap:12px}.flow-totals small{font-size:13px;color:#e0d8cf}.flow-totals strong{font-size:21px}.quick-actions{gap:16px}.quick-card{min-height:112px;padding:22px 20px;gap:13px}.quick-card strong{font-size:18px}.quick-card small{font-size:13px}.quick-icon{width:39px;height:39px}.quick-card>svg{display:block;width:17px}.weekly-card{padding:24px}.weekly-bars{height:165px;gap:25px;padding:0 13px}.bar-item small,.bar-item>span{font-size:13px}.bar-slot{max-width:45px}.weekly-card .hint{font-size:13px;margin-top:17px}
.categories-card{padding:23px 16px 16px}.categories-card>.section-head{padding:0 6px}.category-tiles{gap:12px}.category-tile{padding:17px;min-height:145px;border-color:#f4d9b21d}.tile-top{margin-bottom:15px}.tile-top svg{width:23px;height:23px}.tile-plus{width:28px;height:21px;font-size:17px}.category-tile strong{font-size:25px}.category-tile>span{font-size:16px;line-height:1.35}.category-tile small{font-size:13px;color:#e3d9cd}.tile-track{margin-top:12px}.care-mini{padding:24px}.care-mini h2{font-size:18px}.care-amount{font-size:36px}.care-amount small{font-size:15px}.care-mini p{font-size:14px}.care-footer{font-size:13px;padding-top:16px;margin-top:16px}.care-footer strong{font-size:15px}
.salary-tile{padding:14px;gap:13px}.salary-day{font-size:25px;min-width:35px}.salary-day small{font-size:12px}.salary-who{font-size:14px}.salary-who strong{font-size:17px}.next-card .hint{font-size:13px}.next-payments{gap:12px}.empty h3{font-size:17px}.empty p{font-size:14px;max-width:440px}.empty button{margin-top:17px}.empty{padding:20px 10px}.empty-icon{font-size:27px}.primary,.secondary{font-size:15px;padding:13px 19px}.footer{font-size:12px;padding-top:25px;color:#ddd1c5}.footer>span{gap:8px}.footer .foot-dot{font-size:12px}.round{width:42px;height:42px}.avatar{width:42px;height:42px;font-size:17px}
.savings-card{padding:24px}.savings-wheel.compact{max-width:310px}.savings-wheel{max-width:390px}.savings-center>span{font-size:13px}.savings-center strong{font-size:29px}.savings-center small{font-size:12px}.compact .savings-center>span{font-size:12px}.compact .savings-center strong{font-size:26px}.compact .savings-center small{font-size:10px}.savings-center{gap:7px}.compact .savings-center{gap:5px}.circle-controls button{width:31px;height:31px}.compact .circle-controls button{width:28px;height:28px}.savings-mini-legend>div,.savings-mini-legend strong{font-size:15px}.savings-mini-legend{gap:14px}.add-pot{font-size:15px;padding:14px}.savings-summary .hint{font-size:14px}.savings-layout{grid-template-columns:minmax(340px,.9fr) minmax(0,1.8fr);gap:24px}.pots-grid{gap:22px}.pot-amount{font-size:36px}.pot-progress-label{font-size:13px}.pot-month{font-size:14px}.pot-actions button{font-size:15px;padding:12px 16px}.create-pot-card strong{font-size:20px}.create-pot-card span{font-size:15px}.create-pot-card{min-height:280px}.pot-actions{gap:12px}.pot-card p{font-size:15px}
.settings-grid,.columns{gap:24px}.budget-row{font-size:16px;padding:20px 0;gap:13px}.budget-row strong{font-size:16px}.budget-row small{font-size:13px}.form-grid{gap:20px}label{font-size:15px;line-height:1.5}input,select{font-size:16px;padding:14px}.filters input,.filters select{font-size:16px}.banner{font-size:15px}.banner button{font-size:14px}table{font-size:15px}th{font-size:13px}td{padding:16px 9px}td small{font-size:12px}.chip{font-size:12px}.delete{font-size:22px}dialog{width:min(600px,calc(100vw - 30px));padding:32px}dialog h2{font-size:25px}.form-error{font-size:14px}.goal-amount{font-size:30px}.goal-amount small{font-size:14px}.goal-footer span{font-size:13px}.dial-content small{font-size:13px}.day{font-size:16px;min-height:135px}.weekday{font-size:14px}.event{font-size:13px;padding:8px}.cosmetic-value small{font-size:15px}.cosmetic .bottom{font-size:15px}.payment-info strong{font-size:16px}.payment-info small,.payment-sum small{font-size:13px}.payment-sum{font-size:17px}
@media(min-width:1900px){#app{margin:36px auto;min-height:calc(100svh - 72px);padding:28px;gap:30px}.board-grid{gap:24px}.board-left,.board-center,.board-right,.board-bottom{gap:24px}.category-tile{min-height:157px;padding:20px}.card{padding:28px}.flow-card{padding:28px 0 0}.flow-card .section-head,.flow-top{padding-left:28px;padding-right:28px}.flow-chart{height:160px}.flow-top strong{font-size:50px}.weekly-bars{height:190px}.categories-card{padding:25px 18px 18px}.category-tile strong{font-size:28px}.savings-wheel.compact{max-width:340px}.compact .savings-center strong{font-size:30px}.compact .savings-center small{font-size:12px}.compact .savings-center>span{font-size:14px}.compact .circle-controls button{width:32px;height:32px}.care-amount{font-size:40px}}
@media(max-width:1400px){#app{width:calc(100% - 40px);margin:20px auto;padding:18px;grid-template-columns:90px minmax(0,1fr);gap:22px}nav button{width:72px;height:64px}.nav-caption{font-size:10px}.board-grid{grid-template-columns:minmax(220px,.95fr) minmax(300px,1.35fr) minmax(260px,1.1fr);gap:15px}.board-left,.board-center,.board-right,.board-bottom{gap:15px}.card{padding:20px}.flow-card{padding:20px 0 0}.flow-top,.flow-card .section-head{padding-left:20px;padding-right:20px}.flow-top strong{font-size:35px}.flow-totals{padding:17px}.flow-totals strong{font-size:17px}.flow-totals small{font-size:12px}.category-tile{padding:13px;min-height:133px}.category-tile>span{font-size:14px}.category-tile small{font-size:12px}.categories-card{padding:20px 12px 12px}.savings-wheel.compact{max-width:270px}.compact .savings-center strong{font-size:23px}.compact .savings-center>span{font-size:11px}.compact .savings-center small{font-size:9px}.account-line b{font-size:15px}.account-line strong{font-size:14px}.account-line small{font-size:12px}.mini-avatar{width:32px;height:32px}.quick-card{padding:17px 13px;gap:10px}.quick-card small{font-size:12px}.quick-card strong{font-size:16px}.quick-card>svg{display:none}.weekly-bars{height:155px}.weekly-card .hint{font-size:12px}.care-mini h2{font-size:16px}.care-mini .section-head{flex-wrap:wrap}.savings-layout{grid-template-columns:minmax(280px,.85fr) minmax(0,1.5fr)}.pots-grid{grid-template-columns:1fr}h1{font-size:31px}}
@media(max-width:1150px){#app{grid-template-columns:82px minmax(0,1fr);gap:18px;padding:16px}nav button{width:64px}.nav-caption{font-size:9px}.board-grid{grid-template-columns:minmax(245px,.95fr) minmax(330px,1.3fr)}.board-left{grid-column:1;grid-row:1}.board-center{grid-column:2;grid-row:1}.board-right{grid-column:1/-1;display:grid;grid-template-columns:1.7fr 1fr;align-items:start}.category-tiles{grid-template-columns:repeat(4,1fr)}.board-bottom{grid-column:1/-1}.flow-chart{height:130px}.savings-card{padding:23px}.savings-wheel.compact{max-width:280px}.savings-mini-legend>div,.savings-mini-legend strong{font-size:14px}.care-mini{min-height:280px;display:flex;flex-direction:column;justify-content:space-between}.heading{gap:18px}.top-tabs{gap:20px}.top-tabs button{font-size:16px}.heading p{font-size:14px}.eyebrow{font-size:10px}.next-payments{grid-template-columns:1fr}.salary-who{display:flex;gap:10px;align-items:center}.salary-who strong{margin:0}.savings-layout{grid-template-columns:minmax(250px,.85fr) minmax(0,1.4fr)}}
@media(max-width:800px){:root{--text-small:12px;--text-body:15px;--text-title:17px}#app{width:calc(100% - 24px);margin:12px auto;padding:12px;grid-template-columns:1fr;gap:0;min-height:calc(100svh - 24px)}aside{flex-direction:row;min-height:0;padding:6px;gap:5px;border-radius:17px;overflow:hidden}.brand,.rail-bottom{display:none}nav{flex-direction:row;width:100%;min-width:0;gap:5px;overflow-x:auto;justify-content:flex-start;padding:3px;scrollbar-width:thin}nav button{flex:0 0 65px;width:65px;height:57px;gap:6px;padding:6px 2px}.nav-caption{font-size:10px}nav svg{width:20px;height:20px}nav button.active:before{top:auto;bottom:-2px;left:calc(50% - 10px);width:20px;height:2px}main{padding:23px 3px 0}.topbar{gap:12px}.top-tabs{gap:20px;overflow-x:auto}.top-tabs button{font-size:15px}.top-tools{gap:0}.top-tools .round,.tool-divider{display:none}.top-tools .avatar{width:34px;height:34px;font-size:15px}.heading{margin:23px 0}.eyebrow{font-size:9px}h1{font-size:29px}.heading p{font-size:14px}.month{font-size:13px;gap:8px}.month button{width:25px;height:25px}.card{padding:20px}.board-grid{grid-template-columns:1fr}.board-left,.board-center,.board-right{grid-column:auto;grid-row:auto;grid-template-columns:1fr;gap:15px}.board-bottom{grid-template-columns:1fr;gap:15px}.category-tiles{grid-template-columns:repeat(4,1fr)}.category-tile{min-height:140px}.category-tile>span{font-size:13px}.category-tile small{font-size:11px}.flow-card{padding:22px 0 0}.flow-top strong{font-size:42px}.flow-chart{height:125px}.flow-totals strong{font-size:20px}.quick-card strong{font-size:17px}.quick-card small{font-size:13px}.accounts-card .account-line strong{font-size:16px}.account-line b{font-size:17px}.account-line small{font-size:13px}.savings-wheel.compact{max-width:290px}.compact .savings-center strong{font-size:26px}.compact .savings-center small{font-size:11px}.compact .savings-center>span{font-size:12px}.savings-layout,.settings-grid,.columns{grid-template-columns:1fr;gap:16px}.savings-summary{position:static}.pots-grid{grid-template-columns:1fr 1fr;gap:15px}.savings-wheel{max-width:330px}.care-mini{min-height:0;display:block}.care-mini h2{font-size:18px}.care-amount{font-size:36px}.next-payments{grid-template-columns:1fr 1fr}.salary-who{display:block}.salary-who strong{margin-top:4px}.salary-day{font-size:23px}.footer{font-size:11px;flex-wrap:wrap;line-height:1.6}.calendar-grid{gap:4px}.day{font-size:13px;padding:6px;min-height:115px}.event{font-size:10px;padding:4px}.weekday{font-size:12px}.pot-amount{font-size:32px}.pot-actions button{font-size:14px}.form-grid{gap:16px}dialog{padding:25px}}
@media(max-width:480px){#app{width:calc(100% - 16px);margin:8px auto;padding:9px;border-radius:23px}h1{font-size:28px}.heading{display:block}.heading p{font-size:14px}.eyebrow{font-size:8px;letter-spacing:1px}.month{justify-content:flex-end;margin-top:19px}.top-tabs{gap:15px}.top-tabs button{font-size:14px}.card{padding:19px}.category-tiles{grid-template-columns:1fr 1fr;gap:10px}.categories-card{padding:19px 12px 12px}.category-tile{min-height:150px;padding:15px}.category-tile strong{font-size:25px}.category-tile>span{font-size:15px}.category-tile small{font-size:12px}.quick-card{padding:17px 13px}.quick-card small{font-size:12px}.quick-card strong{font-size:17px}.flow-top strong{font-size:38px}.flow-totals{padding:18px 15px;gap:6px}.flow-totals small{font-size:12px}.flow-totals strong{font-size:18px}.chart-labels{font-size:11px;padding:8px 17px 16px}.flow-chart{height:110px}.weekly-bars{gap:15px}.bar-item small,.bar-item>span{font-size:12px}.savings-center strong{font-size:26px}.savings-center>span{font-size:13px}.savings-center small{font-size:11px}.pots-grid{grid-template-columns:1fr}.salary-tile{padding:12px;gap:9px}.salary-day{font-size:23px}.salary-who{font-size:12px}.salary-who strong{font-size:14px}.salary-day small{font-size:10px}.next-payments{gap:8px}.empty p{font-size:14px}.empty h3{font-size:16px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.budget-row{font-size:14px}.budget-row strong{font-size:14px}.budget-row small{font-size:12px}.day{font-size:12px;padding:4px;min-height:100px}.event{font-size:9px;padding:3px}.footer{font-size:10px}.pot-progress-label{font-size:12px}.primary,.secondary{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Compact page chrome; headings remain available to assistive technology. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.page-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:19px 0 22px;min-height:32px}.page-toolbar .month{margin:0}.goal-footer{justify-content:flex-end}.savings-center{gap:9px}.compact .savings-center{gap:7px}.account-line{padding:13px 0}.savings-summary .primary{margin-top:20px}
@media(max-width:800px){.page-toolbar{margin:17px 0 19px}.page-toolbar .month{margin:0}}
/* Section titles, without introductory copy. */
.page-toolbar{justify-content:space-between;gap:20px;margin:24px 0}.page-title{margin:0;font-size:30px;line-height:1.25;font-weight:600;letter-spacing:-.5px}
@media(max-width:800px){.page-toolbar{margin:20px 0;gap:14px}.page-title{font-size:26px}}
@media(max-width:480px){.page-toolbar{flex-wrap:wrap;align-items:center;gap:14px}.page-title{font-size:25px}.page-toolbar .month{margin-left:auto}}
/* Targeted board refinements. */
.month button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;flex-shrink:0}.month button svg{display:block;width:18px;height:18px;flex-shrink:0}
.accounts-card .section-head>.text-btn{display:grid;place-items:center;width:32px;height:32px;padding:5px;border-radius:9px;color:#fff4e6;background:#ffffff0b}.accounts-card .section-head>.text-btn:hover{background:#ffffff20}.accounts-card .section-head>.text-btn svg{width:22px;height:22px;opacity:1}
.weekly-bars{position:relative;isolation:isolate}.weekly-bars::before{content:'';position:absolute;inset:25px 0 25px;background:repeating-linear-gradient(to top,#ffffff1c 0,#ffffff1c 1px,transparent 1px,transparent 25%);pointer-events:none;z-index:-1}.bar-item{position:relative}.bar-slot{border-bottom-color:#ffffff24}
.savings-card{position:relative;isolation:isolate;overflow:hidden}.savings-card::before{content:'';position:absolute;inset:13% -5% 18%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 48% 50%,#74cbf529 0,#70b9e00d 42%,transparent 72%),radial-gradient(ellipse at 66% 68%,#e8b16c12,transparent 63%);filter:blur(14px)}
.monthly-salaries{display:grid;grid-template-columns:1fr 1fr;gap:14px}.monthly-salary{display:flex;align-items:center;gap:13px;padding:17px 15px;border:1px solid #ffffff1a;background:#ffffff06;border-radius:14px;min-width:0}.monthly-salary>div{min-width:0}.monthly-salary>div>span{display:block;font-size:14px;color:#ded4ca;margin-bottom:6px}.monthly-salary strong{display:block;font-size:23px;font-weight:600;white-space:nowrap;letter-spacing:-.3px}.monthly-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;margin-top:16px;border-top:1px solid #ffffff1a;font-size:14px;color:#ded4ca}.monthly-total strong{color:#f4efe9;font-size:17px;font-weight:500}.next-card{min-height:0}
@media(max-width:1400px){.monthly-salary{padding:14px 12px;gap:10px}.monthly-salary strong{font-size:20px}.monthly-salaries{gap:10px}}
@media(max-width:1000px){.monthly-salaries{grid-template-columns:1fr}}
@media(max-width:800px){.monthly-salaries{grid-template-columns:1fr 1fr}.monthly-salary strong{font-size:21px}}
@media(max-width:480px){.monthly-salary{padding:12px 10px;gap:8px}.monthly-salary .mini-avatar{width:27px;height:27px;flex-shrink:0}.monthly-salary strong{font-size:17px}.monthly-salary>div>span{font-size:12px}.monthly-salaries{gap:8px}.monthly-total{font-size:13px}.monthly-total strong{font-size:16px}}
/* Reserve targets and a course that can end before six months. */
.course-actions{margin-top:18px;display:flex;gap:10px}.course-actions .secondary{min-height:44px;font-size:14px;padding:11px 15px}.reserve-row{padding:15px 0;border-bottom:1px solid #ffffff19}.reserve-row-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.reserve-row-head>strong{font-size:15px;font-weight:500}.reserve-row-head>button{height:38px;width:38px;display:grid;place-items:center;border:1px solid #7fceef3d;border-radius:12px;color:#9ddfff;background:#43bfff0c;flex-shrink:0}.reserve-amounts{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0 12px;flex-wrap:wrap}.reserve-amounts>span{font-size:20px;font-weight:500}.reserve-amounts>small,.reserve-left{font-size:12px;color:#d1c7bc}.reserve-left{display:block;margin-top:9px}.reserve-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:13px}.reserve-total strong{font-size:16px;font-weight:500}.reserves-card .section-head{flex-wrap:wrap}.reserves-card .section-head .text-btn{gap:7px}.cosmetic h2{display:flex;align-items:center;gap:8px}.care-mini .hint{margin-top:12px}
.reserve-progress-caption{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:13px;color:#a5dcf7}.reserve-progress-caption .reserve-left{margin:0}.mini-layout .reserve-progress-caption{font-size:13px;line-height:1.5}
/* Original warm interior and blue accents. */
#app{z-index:1}

.card.is-complete,.mini-layout .card.is-complete{border-color:#c0d3a566;background:linear-gradient(135deg,#bed09b17,#ffffff06);box-shadow:inset 0 1px 0 #e9f6d215,0 0 24px #adc58e0a}
.completion-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;padding:7px 10px;border:1px solid #c4d3a640;border-radius:10px;background:#a6bd7d1c;color:#dce9bf;font-size:12px;font-weight:600;line-height:1.35;vertical-align:middle}
.completion-badge>svg{flex-shrink:0}.pot-card>.completion-badge,.goal>.completion-badge{margin:0 0 12px}.inline-complete{display:inline-grid;place-items:center;height:17px;width:17px;border-radius:50%;background:#b6cc8d24;color:#d8eabd;font-size:11px;margin-left:4px}
.is-complete .progress>span{background:#bfd29a!important}.is-complete .dial-progress{stroke:#bfd29a}.is-complete .dial-point{stroke:#bfd29a}.is-complete .dial-content>svg{color:#d4e6ae}
.reserve-row.is-complete{border-bottom-color:#c1d2a444}.reserve-row>.completion-badge{margin:4px 0}.is-closed .course-actions .secondary{border-color:#c0d3a536;color:#d2dbbd}
.mini-layout .completion-badge{font-size:12px;padding:7px 9px;min-height:31px}.mini-layout .is-complete h2{color:#f3f7eb}

/* No decorative firefly overlay in any layout. */
body::after{content:none;display:none;background:none}
