:root{color-scheme:light;--bg: #f5f5f7;--card: #ffffff;--card2: #ececf0;--border: #e5e5ea;--border-input: #d2d2d7;--text: #1d1d1f;--muted: #6e6e73;--accent: #0071e3;--accent-btn: #0071e3;--green: #1f8f4e;--red: #c4001a;--warn: #9a6100;--ok-bg: #e9f7ef;--warn-bg: #fff5e0;--bad-bg: #fdecee;--head: rgba(245, 245, 247, .82);--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);--pop-shadow: 0 8px 30px rgba(0, 0, 0, .14);--radius: 18px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font:15px/1.47 -apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.cat-link{color:inherit}.cat-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}h2{font-weight:600;letter-spacing:-.01em}input,select,button{font:inherit;font-size:14px;color:var(--text);background:var(--card);border:1px solid var(--border-input);border-radius:10px;padding:7px 12px}input,select{background:var(--bg)}input:focus,select:focus{outline:none;border-color:var(--accent)}input::placeholder{color:var(--muted);text-overflow:ellipsis}button{cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent-btn);border-color:var(--accent-btn);color:#fff;font-weight:600}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover{color:var(--text);background:var(--card2);border-color:transparent}.top{position:sticky;top:0;z-index:10;background:var(--head);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border)}.nav{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;gap:4px;align-items:center;height:52px;overflow-x:auto}.nav .brand{font-weight:600;letter-spacing:-.01em;margin-right:16px;white-space:nowrap;color:var(--text)}.nav a{color:var(--muted);padding:6px 12px;border-radius:980px;font-size:14px;white-space:nowrap}.nav a:hover{color:var(--text);text-decoration:none}.nav a.active{color:var(--text);background:var(--card2)}.nav .spacer{flex:1}.nav button.ghost{font-size:13px}.layout{max-width:1180px;margin:0 auto;padding:18px 24px 40px}.layout.muted{padding-top:40px}.grid{display:grid;gap:14px}.grid>*{min-width:0}.kpis{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.cols3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.card{background:var(--card);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.card h3{margin:0 0 10px;font-size:13px;color:var(--muted);font-weight:500}.kpi .value{font-size:26px;font-weight:600;letter-spacing:-.01em;overflow-wrap:anywhere}.kpi .sub{color:var(--muted);font-size:12.5px;margin-top:3px}.pos{color:var(--green)}.neg{color:var(--red)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--border)}tr:last-child>td{border-bottom:none}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.02em}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--text)}tr.deleted td{opacity:.6;text-decoration:line-through}.table-wrap{overflow-x:auto}.card.table-wrap{padding:4px 8px}.table-wrap td.num,.table-wrap th.num{white-space:nowrap}.sticky-col{position:sticky;left:0;z-index:1;background:var(--card)}.progress{background:var(--card2);border-radius:980px;height:6px;overflow:hidden}.progress>div{height:100%;background:var(--accent);border-radius:980px}.progress>div.over{background:var(--red)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:12.5px}.login-box{max-width:320px;margin:18vh auto;display:flex;flex-direction:column;gap:12px;background:var(--card);border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow)}.login-box h2{margin:0 0 6px}.toast{color:var(--red);font-size:13px}.mp{position:relative;display:inline-block}.mp-pop{position:absolute;top:44px;left:0;z-index:50;width:240px;max-height:min(420px,calc(100dvh - 140px));overflow-y:auto;box-shadow:var(--pop-shadow)}.mp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mp-grid button{padding:8px 4px}.mp-tabs{display:flex;gap:6px;margin-bottom:10px}.mp-tabs button{flex:1;padding:5px 4px;font-size:13px}.mp-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mp-days .dow{text-align:center;font-size:11px;color:var(--muted);padding:2px 0}.mp-days button{padding:6px 0;font-size:12px;border-radius:8px}.mp-days button.in-range{background:#0071e324}.bottom-nav{display:none}.modal-form{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--card2);border-radius:980px;padding:4px 12px;margin:2px;font-size:13px}.chip button{padding:0 4px;border:none;background:none;color:var(--muted)}.icon-btn{padding:4px 10px}@media (max-width: 700px){.nav{padding:0 16px}.nav a:not(.brand){display:none}.nav .brand{margin-right:0}.layout{padding:12px 12px calc(76px + env(safe-area-inset-bottom))}.grid{gap:12px}.card{padding:16px}input,select,textarea{font-size:16px}th.hide-m,td.hide-m{display:none}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--head);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.bottom-nav a,.bottom-nav button{flex:1;text-align:center;color:var(--muted);font-size:10.5px;font-weight:500;padding:2px 0;border-radius:10px;border:none;background:none;display:flex;flex-direction:column;align-items:center;gap:2px}.bottom-nav a:hover{text-decoration:none}.bottom-nav a.active,.bottom-nav button.open{color:var(--accent)}.bottom-nav .ico{display:block;width:24px;height:24px}.bottom-nav .ico svg{width:24px;height:24px;display:block}.chip button{padding:4px 8px}.icon-btn{padding:8px 12px}.mp-days button{padding:10px 0}}.more-menu{position:fixed;right:8px;bottom:calc(70px + env(safe-area-inset-bottom));z-index:50;display:flex;flex-direction:column;min-width:170px;background:var(--card);border-radius:14px;box-shadow:var(--pop-shadow);padding:6px}.more-menu a{color:var(--text);padding:10px 14px;border-radius:10px}.more-menu a:hover{text-decoration:none;background:var(--card2)}.more-menu a.active{background:var(--card2)}.layout:has(.budget-page){max-width:1800px}.budget-toolbar{gap:8px}.budget-toolbar h2{margin:0 12px 0 0;font-size:22px}.budget-year{gap:2px}.budget-spacer{flex:1}.budget-summary{gap:12px 28px}.budget-summary strong{font-size:22px;margin-left:8px;font-variant-numeric:tabular-nums}.budget-pending{color:var(--warn);background:var(--warn-bg);padding:4px 10px;border-radius:8px;font-size:13px}.budget-formula.card{display:flex;align-items:center;gap:12px;padding:6px 12px;border-radius:10px}.budget-address{min-width:62px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;border-right:1px solid var(--border)}.budget-formula input{flex:1;min-width:100px;border:0;background:transparent;border-radius:4px}.budget-formula input:focus{outline:2px solid var(--accent)}.budget-formula>.small{max-width:40%}.budget-sheet.card{padding:0;overflow:auto;max-height:max(340px,calc(100dvh - 320px));border-radius:12px}.budget-sheet table{min-width:1430px;border-collapse:separate;border-spacing:0;table-layout:fixed}.budget-sheet col{width:90px}.budget-sheet .budget-category-col{width:225px}.budget-sheet col:last-child{width:125px}.budget-sheet th,.budget-sheet td{border-right:1px solid var(--border);height:37px;padding:7px 9px;font-size:13px}.budget-sheet tr>:last-child{border-right:0}.budget-sheet thead th{position:sticky;top:24px;z-index:3;background:var(--card2);height:36px}.budget-sheet .budget-letters th{top:0;height:24px;padding:2px 9px;font-size:10px;text-align:center;color:var(--muted)}.budget-sheet thead .sticky-col{z-index:5}.budget-sheet .budget-category{font-weight:500;text-transform:none;letter-spacing:0;color:var(--text)}.budget-row-number{display:inline-block;width:25px;color:var(--muted);font-size:11px}.budget-sheet tbody tr:hover td,.budget-sheet tbody tr:hover .budget-category{background:var(--bg)}.budget-sheet .budget-cell{padding:0}.budget-cell input{display:block;width:100%;height:29px;padding:3px 8px;border:2px solid transparent;border-radius:0;text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;background:transparent}.budget-cell input:focus{border-color:var(--accent);background:var(--card);position:relative;z-index:2}.budget-sheet .budget-current{background:var(--bg)}.budget-sheet thead .budget-current{color:var(--accent)}.budget-sheet .budget-edited{background:var(--warn-bg)}.budget-sheet .budget-edited input{box-shadow:inset 0 -2px var(--warn)}.budget-sheet .budget-invalid{background:var(--bad-bg)}.budget-sheet .budget-invalid input{box-shadow:inset 0 -2px var(--red)}.budget-sheet .budget-year-total{background:var(--bg)}.budget-sheet tfoot th,.budget-sheet tfoot td{position:sticky;bottom:0;background:var(--card2);z-index:3;border-top:2px solid var(--border-input);border-bottom:0}.budget-sheet tfoot .sticky-col{z-index:5}.budget-legend{gap:8px 20px}.budget-comparison{display:flex;flex-direction:column;gap:1px;padding:0 9px 6px;font-variant-numeric:tabular-nums;line-height:17px}.budget-delta{font-size:12px;font-weight:500}.budget-fact{font-size:11px}.budget-metric-label{font-size:10px;font-weight:400;opacity:.85}.budget-delta sup{font-size:10px;margin-left:1px}.budget-sheet td.budget-year-total,.budget-sheet tfoot td{padding:0}.budget-plan-total{display:block;height:29px;padding:5px 9px}.budget-sheet .budget-year-total .budget-delta{font-weight:600}.budget-help{line-height:1.8}
