:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#213b3a;background:#f5f6f3;font-synthesis:none;--green:#1d6259;--muted:#7b8b88;--line:#e6ebe7;--ink:#203d3a;--orange:#cf8c51;--red:#bb5b4b}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #dbac61;outline-offset:3px}button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:9px;padding:10px 14px;display:inline-flex;gap:8px;align-items:center;justify-content:center;font-weight:600;transition:background .15s}button:hover{background:#eef3ef}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#164c45}.quiet{background:transparent;border-color:transparent}.danger{color:var(--red)}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}aside{width:237px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;padding:33px 20px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;gap:10px;align-items:center;padding:0 9px;margin-bottom:49px}.brand svg{width:37px;height:37px;color:var(--green)}.brand strong{font-size:19px;letter-spacing:3px}.brand small{display:block;font-size:10px;letter-spacing:1.4px;color:var(--muted);margin-top:5px}.navlabel{font-size:10px;font-weight:700;color:#9aa7a1;letter-spacing:1.8px;padding:0 14px;margin:0 0 13px}nav{display:flex;gap:7px;flex-direction:column}nav button{justify-content:flex-start;border:0;padding:13px 15px;color:#7a8a85;font-weight:500}nav button.active{background:#eaf2ec;color:#245d52;font-weight:650}nav button .icon{margin-right:4px}.navbadge{margin-left:auto;font-size:10px;background:#d9e9df;border-radius:5px;padding:3px 6px;color:#367056}.sidebarbottom{margin-top:auto}.connection{border:1px solid var(--line);border-radius:12px;padding:15px;margin-bottom:19px}.connection strong{display:block;font-size:12px;margin-bottom:6px}.connection span{font-size:11px;color:var(--muted)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c99a58;margin-right:6px}.profile{display:flex;gap:10px;align-items:center;padding:0 7px}.avatar{background:#e8ede5;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}.profile small{display:block;color:var(--muted);font-size:11px;margin-top:4px}main{margin-left:237px;max-width:1800px}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 39px;background:#fafbf8}.breadcrumb{color:#9ca8a2;font-size:12px}.breadcrumb b{color:#4b615b;font-weight:500;margin-left:9px}.topactions{display:flex;align-items:center;gap:15px}.save-status{font-size:11px;color:var(--muted)}.page{padding:31px 39px 45px;max-width:1600px;margin:auto}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#85938d;font-weight:700;margin:0 0 11px}h1{font-size:29px;font-weight:550;letter-spacing:-1px;margin:0 0 10px}h2{font-size:16px;font-weight:600;margin:0}h3{font-size:14px;font-weight:600;margin:0}.intro p{margin:0;color:var(--muted);font-size:13px}.title-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.buttonrow{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.notice{display:flex;gap:12px;align-items:center;background:#edf2e9;border:1px solid #dfe7d7;border-radius:9px;padding:12px 16px;font-size:12px;color:#607355;margin-bottom:24px}.notice .text{flex:1}.notice button{font-size:11px;padding:6px 10px;background:transparent;border-color:#ccd8c3}.notice.warning{background:#fff6e9;color:#8c6d3d;border-color:#f1e3ca}.notice.error{background:#fbede9;color:#a1493c}.filterbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:21px}.filterbar label{font-size:11px;color:var(--muted)}input,select,textarea{padding:10px 11px;border:1px solid #dce4df;border-radius:8px;background:#fff;color:var(--ink);min-width:0}input[type=month]{max-width:165px}input[type=checkbox]{accent-color:var(--green)}.filterbar select{font-size:12px;padding:9px 30px 9px 11px}.filterbar .right{margin-left:auto}.cards{display:grid;grid-template-columns:1.16fr 1fr 1fr 1fr;gap:17px;margin-bottom:23px}.card{border:1px solid var(--line);border-radius:13px;background:white;padding:21px}.metric{position:relative;min-height:155px}.metric .metricicon{position:absolute;right:18px;top:20px;color:#a3b1a4}.metric label{font-size:11px;color:#7c8b82;display:block;margin-bottom:19px}.metric strong{font-weight:550;font-size:27px;letter-spacing:-.7px;display:block;margin-bottom:14px;font-variant-numeric:tabular-nums}.metric small{font-size:10px;color:#8c9992}.metric.dark{background:#224d45;color:white;border-color:#224d45}.metric.dark label,.metric.dark small,.metric.dark .metricicon{color:#c3d3c7}.metric .chip{font-size:10px;color:#568a62;background:#eff6ed;padding:4px 6px;border-radius:4px;margin-right:5px}.grid2{display:grid;grid-template-columns:1.65fr 1fr;gap:21px;margin-bottom:23px}.grid2.equal{grid-template-columns:1fr 1fr}.panel{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.panelhead{padding:22px 23px;display:flex;align-items:center;justify-content:space-between;gap:13px}.panelhead p{color:var(--muted);font-size:11px;margin:7px 0 0}.panelhead button{font-size:11px;padding:6px 9px}.legend{display:flex;gap:16px;color:#84928c;font-size:10px}.legend i{display:inline-block;width:7px;height:7px;background:#65917c;border-radius:2px;margin-right:5px}.legend i.gold{background:#dec5a4}.barchart{height:210px;padding:12px 26px 21px 58px;position:relative;display:flex;gap:17px;align-items:flex-end;margin-bottom:10px}.chartlines{position:absolute;inset:12px 26px 44px 58px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.chartlines span{border-top:1px dashed #e5ebe7;position:relative}.chartlines small{position:absolute;left:-45px;top:-6px;color:#9ca9a2;font-size:9px}.barpair{height:100%;flex:1;display:flex;gap:5px;align-items:flex-end;position:relative;padding-bottom:23px;z-index:1;min-width:0}.barpair .bar{flex:1;max-width:26px;min-height:1px;border-radius:4px 4px 0 0;background:#7d9f8e}.barpair .bar.out{background:#e2c9ac}.barpair small{position:absolute;bottom:0;text-align:center;width:100%;font-size:10px;color:#92a096}.barpair.current .bar{background:#2f695a}.barpair.current .bar.out{background:#caa276}.donutlayout{display:flex;align-items:center;gap:23px;padding:13px 25px 27px}.donut{width:151px;flex-shrink:0;position:relative}.donut svg{display:block;width:100%;transform:rotate(-90deg)}.donut .center{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;text-align:center}.donut strong{font-size:18px;letter-spacing:-.4px;font-weight:550}.donut small{font-size:9px;color:#94a098;margin-top:5px}.categorylist{flex:1;display:flex;flex-direction:column;gap:15px}.catrow{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px}.catrow .label{display:flex;align-items:center;gap:8px}.catrow i{width:7px;height:7px;flex-shrink:0;border-radius:2px}.catrow b{font-weight:600;white-space:nowrap}.insight{padding:13px 21px;border-top:1px solid var(--line);font-size:11px;color:#7c8f80;background:#fcfdfa;display:flex;gap:9px;align-items:center}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}th{background:#fbfcf9;color:#8d9a92;font-size:9px;letter-spacing:.7px;font-weight:600;text-transform:uppercase;padding:12px 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:15px 23px;border-bottom:1px solid #f0f3ee}tbody tr:last-child td{border-bottom:0}.amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.positive{color:#4d8869}.negative{color:#b06a55}.vendor{display:flex;align-items:center;gap:12px}.vendor-icon{width:32px;height:32px;border:1px solid #e6eae2;border-radius:9px;display:grid;place-items:center;background:#f7f8f2;color:#82927a;font-size:11px;font-weight:600;flex-shrink:0}td small{display:block;color:#98a299;font-size:10px;margin-top:5px}.badge{font-size:9px;padding:5px 8px;border-radius:5px;background:#eff3ee;color:#7d8f78;white-space:nowrap}.badge.ok{background:#edf5ee;color:#528669}.badge.changed{background:#fcf1e2;color:#b1844b}.badge.missing{background:#faeae6;color:#bd6f5d}.badge.upcoming{background:#eff2f4;color:#8b9b9e}.tablewrap{overflow:auto}.actionlink{border:0;padding:4px 0;background:transparent;font-size:11px;font-weight:500;color:#427263}.tasklist{padding:0 22px 15px}.task{padding:15px 0;display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid #eff2eb}.task:last-child{border-bottom:0}.taskmark{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#fff4df;color:#bd9254;flex-shrink:0}.task p{font-size:11px;color:#93a08f;line-height:1.5;margin:6px 0 0}.task h3{font-size:12px}.task .actionlink{margin-left:auto;white-space:nowrap}.footerline{font-size:10px;color:#a2ada5;display:flex;justify-content:space-between;margin-top:25px}.empty{padding:42px 23px;text-align:center;color:var(--muted);line-height:1.8;font-size:12px}.empty strong{display:block;color:var(--ink);font-size:15px;margin-bottom:7px}.contractlist{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.contractcard{display:flex;flex-direction:column;gap:15px}.contractcard .top{display:flex;justify-content:space-between;align-items:center}.contractcard .price{font-size:25px;letter-spacing:-.6px}.contractcard p{color:var(--muted);font-size:12px;line-height:1.7;margin:0}.contractcard footer{margin-top:auto;padding-top:15px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.contractcard .nextchange{font-size:10px;background:#faf3e4;color:#9e8249;padding:8px;border-radius:5px}.linechart{padding:5px 23px 23px}.linechart svg{width:100%;height:225px;overflow:visible}.linechart text{font-size:10px;fill:#94a298}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-size:12px;color:#5b7166}.field small,.help{font-size:11px;color:var(--muted);line-height:1.7}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.field.full{grid-column:1/-1}.settingsbody{padding:0 23px 23px}.listrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}.listrow:last-child{border:0}.listrow p{font-size:12px;line-height:1.6;color:var(--muted)}.pill{border:1px solid var(--line);border-radius:30px;padding:7px 12px;font-size:11px;background:white}.categorychips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.search{min-width:220px}.error-text{color:var(--red);font-size:12px;line-height:1.6}.mobilebrand{display:none}dialog{border:1px solid var(--line);border-radius:16px;padding:0;width:min(620px,94vw);max-height:90dvh;overflow:auto;color:var(--ink);box-shadow:0 25px 100px #143b3926}dialog::backdrop{background:#142d2a66;backdrop-filter:blur(3px)}.modalhead{padding:24px 26px 16px;display:flex;align-items:center;justify-content:space-between}.modalhead h2{font-size:20px}.modalbody{padding:0 26px 25px}.modalfoot{padding:16px 26px;background:#f7f9f5;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line)}.pricehistory{padding:12px;background:#f5f7f1;border-radius:8px;margin-bottom:17px}.pricehistory p{margin:8px 0;font-size:11px;display:flex;justify-content:space-between}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:30;max-width:90vw;padding:13px 20px;background:#254b42;color:white;border-radius:10px;font-size:12px;box-shadow:0 8px 30px #203d3a22;display:none}#toast.show{display:block}.loading{padding:70px;text-align:center;color:var(--muted)}.subtitle{font-size:12px;color:var(--muted);line-height:1.7}.rowbutton{border:0;padding:0;background:transparent;text-align:left;color:inherit}.switcher{padding:4px;border:1px solid var(--line);border-radius:8px;background:white}.switcher button{border:0;font-size:11px;padding:7px 12px}.switcher button.selected{background:#eaf2e8;color:#35634e}.statnote{margin-top:14px;font-size:11px;color:var(--muted)}.subnav{margin-bottom:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1600px){.page{padding-top:42px}.cards{gap:23px}.metric{min-height:165px}.metric strong{font-size:31px}}
@media(max-width:1200px){aside{width:205px;padding:28px 13px}main{margin-left:205px}.page{padding:27px}.topbar{padding:0 27px}.cards{gap:12px}.metric{padding:18px}.metric strong{font-size:23px}.grid2{grid-template-columns:1.4fr 1fr}.donutlayout{flex-direction:column;gap:12px}.categorylist{width:100%;gap:10px}.contractlist{grid-template-columns:repeat(2,1fr)}td,th{padding:13px 17px}}
@media(max-width:850px){aside{width:75px;padding:25px 10px}.brand{padding:0 8px;margin-bottom:30px}.brand div,.navlabel,nav button span,.sidebarbottom{display:none}nav button{padding:15px;justify-content:center}nav button .icon{margin:0}main{margin-left:75px}.topbar{height:62px}.cards{grid-template-columns:1fr 1fr}.grid2,.grid2.equal{grid-template-columns:1fr}.donutlayout{flex-direction:row}.metric{min-height:144px}.contractlist{grid-template-columns:1fr 1fr}.save-status{display:none}.title-row{align-items:flex-start}h1{font-size:25px}.page{padding:25px}.categorylist{gap:16px}.topactions{gap:8px}}
@media(max-width:540px){aside{inset:auto 0 0;width:100%;height:67px;border-top:1px solid var(--line);padding:5px 9px}.brand,.sidebarbottom{display:none}nav{flex-direction:row;gap:2px;justify-content:space-around}nav button{display:flex;flex-direction:column;gap:5px;padding:7px 8px;flex:1;font-size:8px}nav button span:not(.navbadge){display:block}nav button[data-view=settings] span{font-size:0}nav button[data-view=settings] span:after{content:'Mehr';font-size:8px}main{margin-left:0;padding-bottom:67px}.topbar{padding:0 18px;height:57px}.breadcrumb{font-size:10px}.topactions button{font-size:10px;padding:6px 8px}.page{padding:23px 17px}.title-row{flex-direction:column;gap:16px;margin-bottom:20px}.title-row .buttonrow{align-self:stretch}.title-row .buttonrow button{flex:1}.eyebrow{font-size:9px}h1{font-size:25px}.intro p{font-size:12px;line-height:1.6}.notice{font-size:10px;padding:10px;gap:8px}.notice .icon{display:none}.notice button{font-size:9px;white-space:nowrap}.filterbar{gap:7px}.filterbar label{font-size:10px}.filterbar select,.filterbar input{font-size:11px;max-width:145px}.filterbar .right{margin-left:0}.cards{gap:10px;margin-bottom:16px}.metric{padding:16px;min-height:137px}.metric label{font-size:10px;margin-bottom:21px}.metric strong{font-size:23px;margin-bottom:11px}.metric small{font-size:9px}.metric .metricicon{right:13px;top:15px}.metric .metricicon .icon{width:15px}.grid2{gap:16px;margin-bottom:16px}.panelhead{padding:19px 17px}.panelhead h2{font-size:14px}.legend{font-size:9px;gap:9px}.panelhead p{font-size:10px}.barchart{gap:12px;padding-left:48px}.donutlayout{padding:13px 18px 23px;gap:17px}.donut{width:131px}.catrow{font-size:9px}.donut strong{font-size:16px}td,th{padding:12px 16px}td{font-size:11px}.vendor-icon{width:28px;height:28px}.tasklist{padding:0 17px 10px}.task p{font-size:10px}.footerline{font-size:9px}.footerline span:last-child{display:none}.contractlist{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.modalbody{padding:0 19px 20px}.modalhead{padding:20px 19px 15px}.modalfoot{padding:15px 19px}.search{min-width:100%;width:100%}.filterbar .search{flex:1}.linechart svg{height:180px}.mobilehide{display:none}}

/* Version 0.2: compact financial overview and category hierarchy. */
.brand{margin-bottom:36px}.brand small{font-size:8px;letter-spacing:1px}.topbar{height:65px}.page{padding-top:26px}.title-row{margin-bottom:19px}h1{font-size:25px;margin:0;font-weight:600}.demo-notice{padding:8px 13px;margin-bottom:18px;font-size:11px}.demo-notice button{padding:5px 9px;font-size:10px}.period-label{font-size:11px;color:#7a8b81;white-space:nowrap}.filterbar{margin-bottom:18px}.filterbar input[type=date]{font-size:12px;max-width:150px}.filterbar select:disabled{opacity:.5}.balance-strip{display:flex;gap:27px;align-items:center;padding:20px 25px;background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:23px}.balance-value{min-width:190px;border-right:1px solid var(--line);padding-right:25px}.balance-value label,.month-metrics label{display:block;font-size:10px;color:var(--muted);margin-bottom:10px}.balance-value label span{margin-left:6px;font-size:9px}.balance-value strong{font-size:28px;letter-spacing:-.8px;font-weight:600}.current-month{flex:1;min-width:0}.month-caption{font-size:11px;color:#829185;margin-bottom:13px}.month-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.month-metrics strong{font-size:18px;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.month-metrics label{margin-bottom:7px}.period-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:15px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 23px;margin-bottom:22px}.period-summary label{display:block;font-size:10px;color:#7e9083;line-height:1.5;margin-bottom:10px}.period-summary strong{font-size:20px;letter-spacing:-.5px;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.period-summary small{display:block;font-size:9px;color:#b47a55;margin-top:6px}.panelhead{padding:18px 21px}.panelhead select{font-size:11px;padding:6px 9px}.chartscroll{overflow-x:auto}.monthly-bars{height:235px;gap:14px;margin:0;padding-bottom:30px;padding-right:24px}.monthly-bars .chartlines{bottom:53px}.monthly-bars .barpair{gap:4px}.monthly-bars .bar-stack{height:100%;flex:1;max-width:22px;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.monthly-bars .bar-stack .bar{flex:0 0 auto;width:100%;max-width:none;min-height:0;border-radius:2px 2px 0 0}.monthly-bars .bar-stack .bar.in{background:#61917c}.monthly-bars .bar-stack .bar.out{background:#d2af84}.monthly-bars .bar-stack .bar.open.in{background:repeating-linear-gradient(135deg,#c5d6c9 0px,#c5d6c9 3px,#eef4ee 3px,#eef4ee 6px)}.monthly-bars .bar-stack .bar.open.out{background:repeating-linear-gradient(135deg,#e1cfb7 0px,#e1cfb7 3px,#faf5eb 3px,#faf5eb 6px)}.legend i.open{background:repeating-linear-gradient(135deg,#b8c4b5 0,#b8c4b5 2px,#f6f7ef 2px,#f6f7ef 4px)}.donutlayout{padding-top:24px;padding-bottom:30px}.catrow{font-size:11px;line-height:1.5}.catrow b{text-align:right}.catrow b small{display:block;font-size:9px;color:var(--muted);font-weight:400}.donut small{font-size:8px}.compact-stats{display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:10px;background:white;padding:18px 23px;margin-bottom:20px}.compact-stats span{display:flex;gap:13px;align-items:center}.compact-stats label{font-size:11px;color:var(--muted)}.compact-stats b{font-size:17px;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}.recurring-table{min-width:1050px}.recurring-table td,.recurring-table th{padding:13px 15px}.table-note{padding:9px 2px;margin:9px 0 20px;color:#8a978d;font-size:10px;line-height:1.7}.panel .table-note{padding:10px 20px;margin:0}.month-matrix{min-width:1600px;font-size:11px}.month-matrix td,.month-matrix th{padding:14px 12px;white-space:nowrap}.month-matrix thead th{font-size:10px}.month-matrix th:first-child{position:sticky;left:0;z-index:2;width:230px;min-width:230px;background:#fff;text-transform:none;letter-spacing:0;font-size:11px;border-right:1px solid var(--line);font-weight:500}.month-matrix thead th:first-child{background:#fbfcf9;z-index:3}.month-matrix tbody th small{display:block;margin-top:5px;font-weight:400;color:#8b998d;font-size:10px}.month-matrix .group-row td,.month-matrix .group-row th{background:#edf3ed;font-weight:600;color:#487357;border-top:1px solid #dce6dc}.month-matrix tfoot td,.month-matrix tfoot th{background:#e7eee5;border-top:1px solid #d6e1d3;font-weight:650}.month-matrix .row-total{background:#fafbf7}.month-matrix .zero{color:#c4cdc2}.categorychips{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.categorygroup h3{font-size:12px;margin-bottom:13px}.categorygroup>div{display:flex;flex-wrap:wrap;gap:7px}.categorygroup .pill{font-size:10px;padding:6px 9px}.subnav.switcher{display:inline-flex;margin-bottom:19px}.tablewrap{overscroll-behavior-x:contain}
@media(max-width:1400px){.period-summary{grid-template-columns:repeat(3,1fr);gap:21px 15px}.balance-strip{gap:20px;padding:20px}.balance-value{min-width:172px;padding-right:20px}.balance-value strong{font-size:26px}.month-metrics{gap:12px}.month-metrics strong{font-size:16px}.compact-stats{flex-wrap:wrap;justify-content:flex-start;gap:20px 35px}.categorychips{grid-template-columns:1fr 1fr}}
@media(max-width:1100px){.balance-strip{align-items:stretch}.balance-value{display:flex;flex-direction:column;justify-content:center}.month-metrics{grid-template-columns:1fr 1fr;gap:17px}.current-month{flex:1}.month-caption{margin-bottom:12px}.grid2{grid-template-columns:1fr}.donutlayout{flex-direction:row}.categorylist{gap:13px}.month-metrics strong{font-size:18px}.period-summary strong{font-size:21px}}
@media(max-width:850px){.balance-strip{padding:18px;gap:17px}.balance-value{min-width:165px;padding-right:15px}.balance-value strong{font-size:24px}.month-metrics label{font-size:9px}.month-metrics strong{font-size:16px}.period-summary{padding:18px}.compact-stats{gap:18px 24px}.compact-stats span{gap:10px}.filterbar .period-label{display:none}.categorychips{gap:20px 16px}.monthly-bars{height:220px}}
@media(max-width:540px){.brand{display:none}.topbar{height:55px}.page{padding-top:21px}.title-row{flex-direction:row;align-items:center;gap:10px}.title-row .buttonrow{align-self:auto}.title-row .buttonrow button{font-size:10px;padding:8px}.title-row .buttonrow .icon{width:15px;height:15px}.title-row h1{font-size:23px}.balance-strip{display:block;padding:17px;margin-bottom:18px}.balance-value{border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px;display:block}.balance-value label{display:inline;margin-right:12px}.balance-value strong{font-size:25px;display:block;margin-top:8px}.current-month{padding-top:15px}.month-caption{font-size:10px;margin-bottom:13px}.month-metrics{grid-template-columns:repeat(2,1fr);gap:18px 15px}.month-metrics strong{font-size:19px}.month-metrics label{font-size:10px}.period-summary{grid-template-columns:1fr 1fr;gap:19px;padding:17px}.period-summary strong{font-size:20px}.period-summary label{font-size:9px;margin-bottom:7px}.compact-stats{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:16px}.compact-stats span{display:block}.compact-stats label{display:block;font-size:9px;margin-bottom:8px}.compact-stats b{font-size:18px}.subnav.switcher{display:flex;gap:0;width:100%}.switcher button{font-size:10px;padding:9px 8px;flex:1}.donutlayout{gap:17px;padding:20px 17px 25px}.catrow{font-size:9px}.catrow b small{font-size:8px}.categorychips{grid-template-columns:1fr 1fr;padding:0 17px 20px}.panelhead{padding:17px}.panelhead h2{font-size:13px}.panelhead .legend{font-size:8px;gap:8px}.monthly-bars{height:210px}.monthly-bars .barpair small{font-size:9px}.demo-notice{font-size:10px}.demo-notice button{font-size:9px}.table-note{font-size:9px}.recurring-table{min-width:1050px}.month-matrix{min-width:1460px}.month-matrix th:first-child{min-width:190px;width:190px}.month-matrix td,.month-matrix th{padding:13px 10px}.filterbar input[type=date]{max-width:136px}}

.filterbar #year{width:88px;padding:9px 10px;font-size:12px}.period-summary strong{overflow-wrap:anywhere}

.structure-main th,.structure-main td{background:#e7efe7!important;color:#355e48;border-top:1px solid #d1dfd0;font-weight:650}.structure-sub th,.structure-sub td{background:#f3f6ef!important;color:#6b8067;border-top:1px solid #e2e9dc;font-weight:550}.structure-sub th{text-indent:17px}.structure-main th small,.structure-sub th small{display:inline;font-weight:400;font-size:9px;color:#8c9c84;margin-left:10px}.structured-overview thead th{font-size:9px}.structured-overview .structure-leaf td:first-child{padding-left:30px}.structured-overview td:nth-child(2){min-width:170px}.structured-overview tfoot th,.structured-overview tfoot td{border-top:2px solid #d1ddcc;background:#edf3e8;font-weight:650}.structured-overview .structure-leaf td{vertical-align:top}.structured-overview .structure-leaf small{font-size:9px}.comparison-matrix{table-layout:fixed}.comparison-matrix th,.comparison-matrix td{min-width:85px;width:85px;padding:13px 11px;font-size:10px}.comparison-matrix th.supplier-col,.comparison-matrix td.supplier-col{position:sticky;left:0;z-index:3;width:200px;min-width:200px;max-width:200px;white-space:normal;background:#fff;border-right:0;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}.comparison-matrix th.description-col,.comparison-matrix td.description-col{position:sticky;left:200px;z-index:3;width:220px;min-width:220px;max-width:220px;white-space:normal;background:#fff;border-right:1px solid #d9e2d5;font-size:11px}.comparison-matrix thead th.supplier-col,.comparison-matrix thead th.description-col{z-index:5;background:#f4f7ef;font-weight:600}.comparison-matrix thead tr:nth-child(2) th{position:static;left:auto;width:85px;min-width:85px;font-size:9px;letter-spacing:.2px;text-transform:none;background:#fbfcf8;border-right:0}.comparison-matrix th.matrix-group{position:sticky;left:0;z-index:4;width:420px;min-width:420px;text-transform:none;font-size:11px;letter-spacing:0}.comparison-matrix .month-start{border-left:1px solid #e0e7d9}.comparison-matrix .matrix-annual{background:#f1f5e9;border-left:1px solid #dce6d2}.comparison-matrix tbody tr.structure-leaf:hover td,.comparison-matrix tbody tr.structure-leaf:hover th{background:#f8fbf3}.comparison-matrix .actionlink{text-align:left;justify-content:flex-start;line-height:1.5;font-size:11px}.comparison-matrix tfoot th,.comparison-matrix tfoot td{font-weight:650;background:#dfe9d9;border-top:2px solid #c3d4bc}.comparison-matrix thead tr:first-child th{font-size:10px;font-weight:650}.comparison-matrix .negative{color:#b56b52}.comparison-matrix .positive{color:#508168}.structured-overview .amount small{white-space:nowrap}#matrixSpan,#matrixMonthIndex{max-width:170px}
@media(max-width:540px){.comparison-matrix th.supplier-col,.comparison-matrix td.supplier-col{width:125px;min-width:125px;max-width:125px;font-size:10px;padding-left:12px}.comparison-matrix th.description-col,.comparison-matrix td.description-col{left:125px;width:140px;min-width:140px;max-width:140px;font-size:10px}.comparison-matrix th.matrix-group{width:265px;min-width:265px;font-size:10px}.comparison-matrix .actionlink{font-size:10px}.structured-overview .structure-leaf td:first-child{padding-left:24px}.structure-sub th{text-indent:12px}}

.refresh-button{font-size:11px;padding:8px 11px;white-space:nowrap}.refresh-button .icon{width:16px;height:16px}.comparison-panel{margin-bottom:22px}.comparison-panel .panelhead .buttonrow select,.comparison-panel .panelhead .buttonrow input{font-size:11px;padding:7px 9px}.comparison-panel input[type=number]{width:85px}.cost-comparison-body{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:center;padding:2px 22px 18px}.cost-pies{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cost-pie{margin:0;text-align:center;min-width:0}.cost-pie figcaption{font-size:12px;color:#6d8370;margin-bottom:8px;font-weight:600}.cost-pie svg{display:block;max-width:180px;width:100%;margin:auto}.cost-pie strong{display:block;margin-top:5px;font-size:21px;letter-spacing:-.4px;font-weight:600}.cost-pie small{display:block;color:#8b9a8c;line-height:1.6;font-size:9px;margin-top:6px}.cost-comparison-table table{font-size:11px}.cost-comparison-table td,.cost-comparison-table th{padding:12px 10px}.cost-comparison-table thead th{font-size:8px}.color-label{display:flex;align-items:center;gap:7px}.color-label i{width:7px;height:7px;border-radius:2px;flex-shrink:0}.recurring-summary{margin-bottom:22px}.forecast-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding:3px 23px 23px}.forecast-metrics label{font-size:10px;line-height:1.5;color:#83947d;display:block;margin-bottom:11px}.forecast-metrics strong{font-size:23px;letter-spacing:-.5px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.forecast-metrics .forecast-result{border-left:1px solid #dfe6d7;padding-left:19px}.forecast-result strong{color:#36734e}.forecast-details{margin:21px 0;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}.forecast-details>summary{cursor:pointer;padding:17px 22px;font-size:12px;font-weight:600;list-style-position:inside}.forecast-details[open]>summary{border-bottom:1px solid var(--line);margin-bottom:18px}.forecast-details>.panel{border:0;border-radius:0}.forecast-details>div:not(.panel),.forecast-details>.notice,.forecast-details>.cards{margin-left:18px;margin-right:18px}.category-editor{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:0 22px 13px}.category-editor-group{padding:17px 0;border-top:1px solid var(--line)}.category-editor-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.category-editor-title h3{font-size:12px}.category-editor-title .actionlink{font-size:10px;display:flex;gap:3px}.category-editor-title .icon{width:14px;height:14px}.categorychips-inline{display:flex;flex-wrap:wrap;gap:7px}.categorychips-inline .pill{font-size:10px;padding:6px 9px}#categories-panel{scroll-margin-top:20px}#categories-panel .panelhead .buttonrow button{font-size:10px;padding:8px 10px}.topbar .breadcrumb{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.topactions{flex-shrink:0}.forecast-details tfoot td,.forecast-details tfoot th{font-weight:600}.recurring-summary .table-note{font-size:9px}.cost-comparison-table{min-width:0}
@media(max-width:1350px){.cost-comparison-body{grid-template-columns:1fr 1fr;gap:13px}.cost-pies{gap:10px}.cost-pie svg{max-width:150px}.cost-pie strong{font-size:19px}.forecast-metrics{gap:13px}.forecast-metrics strong{font-size:20px}.forecast-metrics label{font-size:9px}}
@media(max-width:1050px){.cost-comparison-body{grid-template-columns:1fr;gap:21px}.cost-pie svg{max-width:180px}.cost-pie strong{font-size:22px}.cost-pies{max-width:560px;width:100%;margin:auto;gap:35px}.cost-comparison-table{padding-bottom:5px}.forecast-metrics{grid-template-columns:repeat(3,1fr);gap:22px}.forecast-metrics .forecast-result{border:0;padding:0}.category-editor{grid-template-columns:1fr}.forecast-metrics strong{font-size:23px}.comparison-panel .panelhead{flex-wrap:wrap}.forecast-details summary{padding:17px}}
@media(max-width:540px){.topbar .breadcrumb{max-width:34vw;font-size:9px}.topactions{gap:4px}.topactions .refresh-button{font-size:10px;padding:7px 8px}.topactions button .icon{width:14px;height:14px}.comparison-panel .panelhead .buttonrow{gap:6px}.comparison-panel .panelhead .buttonrow input,.comparison-panel .panelhead .buttonrow select{max-width:150px;font-size:10px}.comparison-panel .panelhead{gap:12px;align-items:flex-start}.comparison-panel .panelhead h2{font-size:13px}.cost-comparison-body{padding:0 15px 13px;gap:18px}.cost-pies{gap:15px}.cost-pie svg{max-width:160px}.cost-pie strong{font-size:20px}.cost-pie small{font-size:8px}.cost-comparison-table td,.cost-comparison-table th{padding:11px 7px;font-size:10px}.cost-comparison-table th{font-size:8px}.forecast-metrics{padding:0 17px 20px;grid-template-columns:1fr 1fr;gap:20px 12px}.forecast-metrics strong{font-size:22px}.forecast-metrics label{font-size:9px;margin-bottom:8px}.forecast-result{grid-column:1/-1;border-top:1px solid var(--line)!important;padding-top:16px!important}.category-editor{padding:0 17px 10px}.category-editor-title h3{font-size:12px}#categories-panel .panelhead{flex-direction:column;align-items:flex-start;gap:13px}#categories-panel .panelhead .buttonrow{gap:6px}#categories-panel .panelhead .buttonrow button{font-size:9px;padding:7px 8px}.forecast-details>summary{font-size:11px}}

.disclosure-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 12px}.disclosure-toolbar>span{color:#889784;font-size:10px}.disclosure-toolbar>div{display:flex;gap:7px}.disclosure-toolbar button{font-size:10px;padding:7px 10px;background:#fff}.group-toggle{display:flex;align-items:center;gap:8px;border:0;border-radius:6px;padding:7px 9px;background:transparent!important;color:inherit;font-weight:inherit;justify-content:flex-start;max-width:100%;min-height:32px;text-align:left;line-height:1.4}.group-toggle .icon{width:15px;height:15px;transition:transform .15s}.group-toggle.is-open .icon{transform:rotate(90deg)}.group-toggle small{font-size:9px;display:inline-block!important;margin:0 0 0 4px!important;padding:2px 6px;border-radius:5px;background:#ffffff70;color:#72856a!important}.foldable-group th{text-indent:0!important;padding:5px 9px!important}.structure-sub.foldable-group th .group-toggle{padding-left:24px}.compact-contracts{min-width:800px}.compact-contracts td,.compact-contracts th{font-size:12px;padding:15px 17px}.compact-contracts thead th{font-size:9px}.compact-contracts .contract-name{min-width:210px}.contract-name b{font-size:12px;display:block;margin-bottom:6px;font-weight:600}.contract-name .actionlink{justify-content:flex-start;text-align:left;white-space:normal;font-size:11px;line-height:1.5}.compact-contracts .structure-leaf td:first-child{padding-left:32px}.compact-contracts .structure-leaf small{font-size:10px;margin-top:7px;line-height:1.5}.compact-contracts td:nth-child(2){min-width:160px}.compact-contracts tfoot th,.compact-contracts tfoot td{background:#eaf1e5;border-top:2px solid #d1ddcb;font-weight:650}.compact-reconciliation{min-width:780px}.compact-reconciliation td,.compact-reconciliation th{padding:14px 17px}.comparison-matrix .foldable-group th .group-toggle{white-space:normal;font-size:11px}.comparison-matrix .structure-sub.foldable-group th .group-toggle{padding-left:26px}.comparison-matrix .foldable-group th.matrix-group{padding:5px 7px!important}.expense-comparison{margin-bottom:23px}.expense-periods{display:grid;grid-template-columns:1fr 1fr;padding:0 23px 23px;gap:35px}.expense-period{min-width:0}.expense-period+ .expense-period{border-left:1px solid var(--line);padding-left:35px}.expense-period h3{font-size:13px;font-weight:600;margin:0 0 6px}.expense-period>p{font-size:11px;color:#8a9986;margin:0 0 10px}.expense-pie-total{display:flex;align-items:center;justify-content:center;gap:18px;padding:7px 0 17px}.expense-pie-total svg{width:170px;max-width:48%;flex-shrink:0}.expense-pie-total span{display:block;font-size:10px;color:#85987c;margin-bottom:9px}.expense-pie-total strong{display:block;font-size:28px;font-weight:600;letter-spacing:-.7px;white-space:nowrap}.expense-pie-total small{display:block;font-size:10px;line-height:1.6;margin-top:8px;color:var(--muted)}.cost-type-bar{height:9px;width:100%;background:#edf1e8;display:flex;overflow:hidden;border-radius:4px}.cost-type-bar>span{height:100%}.type-recurring{background:#62879a}.type-other{background:#d3ad7c}.cost-type-values{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:13px}.cost-type-values label{font-size:10px;display:flex;align-items:center;gap:5px;color:#84927b;white-space:nowrap}.cost-type-values i{display:inline-block;width:7px;height:7px;border-radius:2px;flex-shrink:0}.cost-type-values b{display:block;font-weight:600;font-size:16px;margin-top:8px;font-variant-numeric:tabular-nums}.expense-category-values{font-size:12px}.expense-category-values th,.expense-category-values td{padding:11px 23px}.expense-category-values th{font-size:9px}.expense-comparison .table-note{font-size:9px}.expense-comparison>.panelhead{padding-bottom:21px}
@media(max-width:1300px){.expense-periods{gap:20px}.expense-period+.expense-period{padding-left:20px}.expense-pie-total{gap:12px}.expense-pie-total svg{width:145px}.expense-pie-total strong{font-size:23px}.cost-type-values label{font-size:9px}.cost-type-values b{font-size:15px}.compact-contracts{min-width:800px}}
@media(max-width:900px){.expense-periods{gap:18px;padding:0 18px 20px}.expense-period+.expense-period{padding-left:18px}.expense-pie-total{flex-direction:column;gap:7px;text-align:center}.expense-pie-total svg{max-width:180px;width:170px}.expense-pie-total span{margin-bottom:5px}.expense-pie-total strong{font-size:24px}.cost-type-values{grid-template-columns:1fr;gap:11px}.cost-type-values>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.cost-type-values b{margin:0;font-size:14px}.cost-type-values label{white-space:normal;font-size:9px}}
@media(max-width:540px){.disclosure-toolbar>span{display:none}.disclosure-toolbar{justify-content:flex-end;margin:0 0 11px}.disclosure-toolbar button{font-size:9px;padding:7px 9px}.group-toggle{font-size:11px}.group-toggle .icon{width:14px;height:14px}.compact-contracts td,.compact-contracts th{font-size:11px;padding:13px 14px}.compact-contracts .contract-name{min-width:180px}.compact-contracts .structure-leaf td:first-child{padding-left:25px}.contract-name b{font-size:11px}.contract-name .actionlink{font-size:10px}.comparison-matrix .foldable-group th .group-toggle{font-size:10px;padding:6px 4px}.comparison-matrix .structure-sub.foldable-group th .group-toggle{padding-left:14px}.expense-periods{padding:0 15px 19px;gap:14px}.expense-period+.expense-period{padding-left:14px}.expense-period h3{font-size:11px}.expense-period>p{font-size:9px;line-height:1.5;min-height:27px}.expense-pie-total svg{max-width:100%;width:150px}.expense-pie-total strong{font-size:22px}.expense-pie-total span{font-size:9px}.expense-pie-total small{font-size:8px}.cost-type-values>div{display:block}.cost-type-values label{font-size:8px;gap:4px;min-height:21px;align-items:flex-start;line-height:1.5}.cost-type-values b{font-size:14px;margin-top:5px}.cost-type-values i{width:6px;height:6px;margin-top:3px}.expense-category-values td,.expense-category-values th{padding:10px 15px;font-size:10px}.expense-category-values th{font-size:8px}.expense-comparison .panelhead h2{font-size:12px;line-height:1.6;max-width:65%}.expense-comparison .panelhead .subtitle{font-size:9px}.expense-comparison .panelhead{gap:8px}}

.bank-setup-list{border-top:1px solid var(--line);margin:15px 0}.bank-setup-list>div{display:grid;grid-template-columns:135px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.6}.bank-setup-list b{font-weight:600}.bank-setup-list span{color:var(--muted)}@media(max-width:540px){.bank-setup-list>div{grid-template-columns:1fr;gap:4px}}

.hosting-form{max-width:420px;margin:9vh auto;padding:29px;border:1px solid var(--line);border-radius:13px;background:white}.hosting-form h1{margin-bottom:15px}.hosting-form form{margin-top:23px}.hosting-form .primary{width:100%}.hosting-logout{margin:0;display:inline-flex}.hosting-logout button{font-size:10px;padding:7px 8px}@media(max-width:540px){.hosting-form{margin:5vh 17px;padding:23px}.topbar:has(.hosting-logout) .breadcrumb{display:none}.topbar:has(.hosting-logout){justify-content:flex-end}}
