.spending{--orange: #FF6600;--ink: #213D59;--navy: #001D39;--muted: #7A8290;--line: #E5E2DC;--warm: #F7F5F2;--up: #16A34A;--down: #DC2626;color:var(--ink)}.spending .container{max-width:1280px;margin:0 auto;padding:0 24px}.spending .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.spending .sp-hero{background:var(--ink);color:#fff;padding:56px 0 40px}.spending .breadcrumb{font-size:.9rem;opacity:.7;margin-bottom:1rem}.spending .breadcrumb a{color:#fff}.spending .sp-hero h1{font-size:clamp(30px,4vw,46px);margin-bottom:14px}.spending .sp-lead{font-size:1.15rem;opacity:.85;max-width:760px;line-height:1.55}.spending .sp-source{margin-top:18px;font-size:.95rem;opacity:.8}.spending .sp-source a{color:#ff8a3d;font-weight:500;text-decoration:underline;text-underline-offset:3px}.spending .sp-controls{background:var(--warm);border-bottom:1px solid var(--line);padding:24px 0 20px}.spending .ctl{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:16px}.spending .ctl--row{justify-content:space-between;margin-bottom:0;gap:16px 32px}.spending .ctl__group{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}.spending .ctl__label{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);min-width:64px}.spending .chips{display:flex;flex-wrap:wrap;gap:8px}.spending .chip{min-height:40px;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:15px;transition:border-color .15s,background .15s}.spending .chip:hover{border-color:var(--ink)}.spending .chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.spending .chip--ghost{border-style:dashed}.spending .chip--ghost.is-active{background:#fff;color:var(--orange);border-color:var(--orange);border-style:solid}.spending .chip:focus-visible,.spending .seg button:focus-visible,.spending .btn:focus-visible,.spending select:focus-visible,.spending .picker summary:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.spending .picker{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.spending .picker summary{display:flex;align-items:baseline;gap:12px;padding:12px 16px;cursor:pointer;list-style:none;min-height:44px}.spending .picker summary::-webkit-details-marker{display:none}.spending .picker summary:after{content:"▾";margin-left:auto;color:var(--muted);transition:transform .2s}.spending .picker[open] summary:after{transform:rotate(180deg)}.spending .picker__title{font-weight:500}.spending .picker__count{color:var(--orange);font-weight:500}.spending .picker__hint{color:var(--muted);font-size:14px}.spending .picker__body{padding:4px 16px 16px;border-top:1px solid var(--line)}.spending .picker__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px 24px}.spending .picker__list fieldset{border:0;padding:12px 0 0}.spending .picker__list legend{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.spending .picker__list .pick{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:pointer;min-height:36px;font-size:15px}.spending .picker__list .pick:hover{background:var(--warm)}.spending .picker__list .pick input{position:absolute;opacity:0;pointer-events:none}.spending .picker__list .pick__dot{width:14px;height:14px;border-radius:4px;border:1.5px solid #B9BEC6;flex:none}.spending .picker__list .pick.is-on .pick__dot{border-color:transparent}.spending .picker__list .pick:has(input:focus-visible){outline:2px solid var(--orange)}.spending .picker__list .pick__icon svg{width:18px;height:18px;color:var(--muted)}.spending .picker__list .pick.is-on{font-weight:500}.spending .picker__list .pick.is-disabled{opacity:.45;cursor:not-allowed}.spending .link-btn{margin-top:12px;color:var(--muted);text-decoration:underline;font-size:14px;min-height:32px}.spending .period{display:flex;align-items:center;gap:8px}.spending select{font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 12px;min-height:40px;text-transform:capitalize}.spending .seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;flex-wrap:wrap}.spending .seg button{padding:8px 12px;min-height:40px;font-size:14px;color:var(--ink);border-right:1px solid var(--line)}.spending .seg button:last-child{border-right:0}.spending .seg button.is-active{background:var(--ink);color:#fff}.spending .sp-board{padding:32px 0 16px}.spending .slide{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 28px 20px;box-shadow:0 4px 16px #00001d0f;position:relative;overflow:hidden}.spending .slide:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--orange)}.spending .slide__head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line)}.spending .slide__title{font-size:clamp(22px,2.6vw,30px);font-weight:700;text-transform:lowercase}.spending .slide__title:first-letter{text-transform:uppercase}.spending .slide__sub{color:var(--muted);margin-top:4px}.spending .slide__actions{display:flex;flex-wrap:wrap;gap:8px}.spending .btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:8px;border:1px solid var(--ink);color:var(--ink);font-size:15px;font-weight:500;background:#fff}.spending .btn svg{width:18px;height:18px}.spending .btn--primary{background:var(--orange);border-color:var(--orange);color:#fff}.spending .btn--primary:hover{background:#e85d00}.spending .btn:disabled{opacity:.6;cursor:progress}.spending .slide__body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;padding-top:20px}.spending .slide__chart{position:relative;height:520px;min-width:0}.spending .panel{background:var(--warm);border-radius:12px;padding:18px 18px 8px}.spending .panel__title{font-size:13px;color:var(--muted)}.spending .panel__week{font-weight:700;font-size:18px;margin:2px 0 10px}.spending .panel__list{list-style:none}.spending .panel__list .row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;padding:10px 0 10px 12px;border-top:1px solid var(--line);position:relative}.spending .panel__list .row:first-child{border-top:0}.spending .panel__list .row:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;border-radius:2px;background:var(--c)}.spending .panel__list .row__icon{grid-row:1 / 3;align-self:center}.spending .panel__list .row__icon svg{width:22px;height:22px}.spending .panel__list .row__name{font-weight:500;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spending .panel__list .row__value{grid-row:1 / 3;grid-column:3;align-self:center;font-weight:700;font-size:22px;font-variant-numeric:tabular-nums}.spending .panel__list .row__delta{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.spending .is-up{color:var(--up)!important}.spending .is-down{color:var(--down)!important}.spending .slide__foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.spending .slide__foot a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.spending .status{font-size:14px;color:var(--muted);margin-top:8px;min-height:1em}.spending .status.is-error{color:var(--down)}.spending .sp-table{padding:40px 0 16px}.spending .sp-table h2,.spending .sp-about h2{font-size:clamp(20px,2.4vw,26px);margin-bottom:16px}.spending .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:12px}.spending table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}.spending thead th{background:var(--warm);font-weight:500;font-size:13px;color:var(--muted);text-align:right;padding:10px 16px;white-space:nowrap}.spending thead th:first-child{text-align:left}.spending tbody th{text-align:left;font-weight:400;padding:9px 16px;white-space:nowrap}.spending tbody td{text-align:right;padding:9px 16px;white-space:nowrap}.spending tbody tr+tr>*{border-top:1px solid var(--line)}.spending .sp-table .t-icon{display:inline-block;vertical-align:-4px;margin-right:10px;color:var(--muted)}.spending .sp-table .t-icon svg{width:18px;height:18px}.spending .sp-about{padding:32px 0 72px}.spending .sp-about ul{padding-left:20px;max-width:820px;line-height:1.65}.spending .sp-about li+li{margin-top:8px}.spending .sp-credit{margin-top:20px;max-width:820px;color:var(--muted);font-size:14px;line-height:1.6}.spending .sp-credit a{color:var(--orange)}@media(max-width:1024px){.spending .slide__body{grid-template-columns:minmax(0,1fr)}.spending .slide__chart{height:420px}}@media(max-width:600px){.spending .container{padding:0 16px}.spending .sp-hero{padding:40px 0 28px}.spending .slide{padding:20px 16px 16px;border-radius:12px}.spending .slide__chart{height:340px}.spending .slide__actions{width:100%}.spending .slide__actions .btn{flex:1 1 auto;justify-content:center}.spending .ctl__label{min-width:100%}.spending .seg button{padding:8px 10px;font-size:13px}}
