:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#151617;background:#f4f5f6;font-synthesis:none;--bg:#f4f5f6;--surface:#fff;--soft:#e9ebed;--text:#151617;--muted:#737b80;--line:#e5e8ea;--green:#16805f;--green-soft:#e5f4ed;--orange:#c08642;--red:#b84646;--shadow:0 12px 50px #15161712;color-scheme:light}
:root[data-theme=dark]{--bg:#111315;--surface:#1b1e20;--soft:#292e32;--text:#e9edef;--muted:#9da6ac;--line:#303639;--green:#74d7b4;--green-soft:#223b33;--orange:#d4aa72;--red:#ffaaa4;--shadow:0 12px 50px #0004;color:var(--text);background:var(--bg);color-scheme:dark}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:wait}button,input,select,textarea{color:var(--text)}button{border:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}button,select,input{min-height:40px}input,select,textarea{min-width:0;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px 12px}textarea{resize:vertical;min-height:85px}select option{background:var(--surface);color:var(--text)}h1,h2,h3,p{margin:0}h1{font-size:24px;letter-spacing:-.6px}h2{font-size:16px;font-weight:650}h3{font-size:14px}.admin-shell{width:min(1160px,100%);margin:auto;min-height:100vh;padding:26px 22px calc(32px + env(safe-area-inset-bottom))}.brand{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.brand-left{display:flex;align-items:center;gap:12px}.brand-icon{width:42px;height:42px;background:var(--text);color:var(--bg);display:grid;place-items:center;border-radius:13px}.brand p{margin-top:4px}.muted,.hint{color:var(--muted);font-size:12px;line-height:1.55}.hint{margin-top:7px}.admin-nav{display:flex;gap:5px;padding:5px;border-radius:16px;background:var(--soft);overflow:auto;scrollbar-width:none}.admin-nav::-webkit-scrollbar{display:none}.admin-nav button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1 0 auto;height:42px;padding:0 14px;border-radius:12px;background:transparent;color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap}.admin-nav button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000000d}.admin-nav button.theme{flex:0 0 44px;padding:0;border-left:1px solid var(--line)}svg.icon{width:17px;height:17px;flex-shrink:0;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.primary{background:var(--text);color:var(--bg);border-radius:11px;font-size:12px;font-weight:650;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.secondary{background:var(--soft);border-radius:10px;padding:0 13px;font-size:12px;font-weight:600}.text-button{background:transparent;color:var(--muted);font-size:12px;padding:0 3px}.icon-button{display:grid;place-items:center;background:var(--soft);width:40px;height:40px;border-radius:10px}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin:22px 0 16px}.project-filter{display:flex;gap:7px;max-width:100%;overflow-x:auto;padding-bottom:3px}.project-filter button{background:transparent;border:1px solid var(--line);border-radius:10px;font-size:12px;white-space:nowrap;padding:0 13px;color:var(--muted)}.project-filter button.active{background:var(--surface);border-color:var(--text);color:var(--text)}.toolbar-right{display:flex;align-items:center;gap:7px}.toolbar select{font-size:12px;padding:8px 10px}.period-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.period-control{display:flex;gap:4px;padding:4px;border-radius:12px;background:var(--soft)}.period-control button{min-height:32px;padding:0 11px;background:transparent;border-radius:9px;font-size:11px;color:var(--muted);white-space:nowrap}.period-control button.active{background:var(--text);color:var(--bg)}.date-range{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);flex-wrap:wrap}.date-range input{padding:6px 8px;min-height:34px;font-size:11px;width:125px}.date-range button{min-height:34px}.fx-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:15px}.fx-control input{width:100px;min-height:32px;padding:6px 8px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.metric{min-width:0;border-radius:14px;background:var(--surface);padding:20px 19px}.metric-label{color:var(--muted);font-size:12px;line-height:1.4;min-height:34px}.metric-value{font-size:clamp(21px,2.4vw,30px);letter-spacing:-.9px;font-weight:650;margin:9px 0 7px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric.highlight{background:var(--green-soft)}.metric.highlight .metric-value{color:var(--green)}.metric small{font-size:10px;color:var(--muted);line-height:1.4}.metric-value.negative,.negative{color:var(--red)}.mini-metrics{display:flex;gap:25px;flex-wrap:wrap;padding:16px 3px;margin-bottom:9px}.mini-metrics span{font-size:11px;color:var(--muted)}.mini-metrics strong{font-size:13px;color:var(--text);margin-left:7px;font-variant-numeric:tabular-nums}.card{background:var(--surface);border-radius:14px;padding:20px;min-width:0}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:17px}.section{margin-top:20px}.chart-wrap{width:100%;overflow:hidden}.chart{width:100%;height:240px;display:block}.chart text{font-family:inherit;fill:var(--muted);font-size:10px}.chart .grid{stroke:var(--line);stroke-dasharray:3 5}.chart .rev{fill:var(--green)}.chart .exp{fill:var(--orange);opacity:.8}.legend{display:flex;gap:15px;font-size:11px;color:var(--muted);flex-wrap:wrap}.legend span{display:flex;gap:6px;align-items:center}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green)}.dot.orange{background:var(--orange)}.grid-two{display:grid;grid-template-columns:1.55fr 1fr;gap:16px}.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-card{padding:19px;background:var(--surface);border-radius:14px;text-align:left;min-width:0;width:100%}.project-heading{display:flex;align-items:center;gap:9px;margin-bottom:21px}.project-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--soft);font-size:12px;font-weight:700}.project-heading strong{font-size:13px;overflow-wrap:anywhere}.project-values{display:grid;grid-template-columns:1fr 1fr;gap:14px}.project-values small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.project-values b{font-size:16px;font-weight:650;overflow-wrap:anywhere}.green{color:var(--green)}.category-row{padding:11px 0;border-bottom:1px solid var(--line)}.category-row:last-child{border-bottom:0}.category-top{display:flex;justify-content:space-between;gap:14px;font-size:12px}.category-top span{overflow-wrap:anywhere}.category-top strong{white-space:nowrap;font-weight:600}.category-bar{width:100%;height:5px;margin-top:10px}.category-bar .track{fill:var(--soft)}.category-bar .fill{fill:var(--green)}.entry{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 0;border-bottom:1px solid var(--line);background:transparent}.entry:last-child{border-bottom:0}.entry-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--soft);color:var(--muted);flex:0 0 auto}.entry-info{flex:1;min-width:0}.entry-title{font-size:12px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-meta{font-size:10px;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.entry-amount{font-size:13px;font-weight:600;white-space:nowrap}.entry.inactive{opacity:.5}.empty{padding:40px 15px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6}.empty .icon{width:29px;height:29px;margin-bottom:13px}.notice{border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:11px;line-height:1.5;color:var(--muted);margin:14px 0}.notice.warning{color:var(--orange)}.notice.error{color:var(--red)}.demo{background:var(--green-soft);color:var(--green);padding:9px 13px;margin-bottom:18px;border-radius:10px;font-size:11px}.footnote{font-size:10px;color:var(--muted);margin-top:14px}.table-scroll{max-width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{text-align:left;color:var(--muted);font-size:10px;font-weight:500;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:16px 10px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.table td:first-child{min-width:130px}.table th.numeric,.table td.numeric{text-align:right;white-space:nowrap}.table small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--green);background:var(--green-soft);padding:5px 8px;border-radius:7px}.status.waiting{color:var(--muted);background:var(--soft)}.status.error{color:var(--red);background:var(--soft)}.connection{background:var(--surface);padding:22px;border-radius:14px;margin-bottom:10px}.connection .card-header{align-items:center}.connection dl{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 0;gap:12px}.connection dt{font-size:11px;color:var(--muted)}.connection dd{font-size:12px;margin:6px 0 0}.center{text-align:center}.boot{padding:100px 20px;text-align:center;color:var(--muted)}.login{max-width:430px;margin:12vh auto;text-align:center;padding:35px 25px;background:var(--surface);border-radius:18px}.login p{margin:14px 0 22px}.toast{position:fixed;top:calc(16px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:20;max-width:calc(100% - 32px);background:var(--text);color:var(--bg);box-shadow:var(--shadow);padding:12px 18px;border-radius:12px;font-size:12px}.toast[hidden]{display:none}dialog{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:0;width:min(540px,calc(100% - 28px));max-height:88dvh;box-shadow:var(--shadow)}dialog::backdrop{background:#0007;backdrop-filter:blur(3px)}.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}.sheet-body{padding:20px 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:11px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{font-size:13px}.split-list{display:flex;flex-direction:column;gap:8px}.split-row{display:grid;grid-template-columns:1fr 115px;gap:9px;align-items:center}.split-row label{display:flex;gap:9px;align-items:center;min-width:0;overflow-wrap:anywhere}.split-row input[type=checkbox]{width:17px;min-height:17px;flex-shrink:0;accent-color:var(--green)}.sheet-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:22px}.danger{background:var(--soft);color:var(--red);border-radius:10px;padding:0 12px;font-size:12px}.details{display:grid;grid-template-columns:130px 1fr;gap:13px;font-size:12px}.details dt{color:var(--muted)}.details dd{margin:0;overflow-wrap:anywhere}.details-amount{font-size:32px;font-weight:650;letter-spacing:-1px;margin:0 0 20px}.history-row{font-size:11px;border-top:1px solid var(--line);padding:12px 0;line-height:1.6}.error-text{color:var(--red);font-size:12px;line-height:1.5;margin-top:12px}.file-list{font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}[hidden]{display:none!important}
@media(max-width:800px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-two{grid-template-columns:1fr}.project-cards{grid-template-columns:1fr}.project-card .project-values{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-value{font-size:27px}.admin-nav button{padding:0 12px}.brand h1{font-size:22px}.mini-metrics{gap:13px}.project-heading{margin-bottom:15px}}
@media(max-width:480px){.admin-shell{padding:20px 14px calc(24px + env(safe-area-inset-bottom))}.brand{margin-bottom:20px;gap:8px}.brand h1{font-size:20px}.brand p{font-size:10px}.brand-icon{width:36px;height:36px;border-radius:11px}.brand .primary{font-size:11px;padding:0 11px}.brand .primary .icon{display:none}.admin-nav{border-radius:13px}.admin-nav button{font-size:11px;height:40px}.toolbar{margin-top:18px;gap:9px}.project-filter{width:100%}.toolbar-right{margin-left:auto}.period-row{gap:10px}.date-range{width:100%;gap:5px}.date-range input{width:112px}.date-range button{padding:0 9px}.metrics{gap:8px}.metric{padding:16px 13px;border-radius:12px}.metric-value{font-size:23px;letter-spacing:-.6px}.metric-label{font-size:11px}.metric small{font-size:9px}.mini-metrics{gap:10px 15px}.mini-metrics span{font-size:10px}.mini-metrics strong{font-size:12px}.card{padding:17px 14px;border-radius:12px}.card-header{flex-wrap:wrap}.card-header h2{font-size:14px}.chart{height:200px}.project-card{padding:17px 14px}.project-card .project-values{grid-template-columns:1fr 1fr}.entry{gap:8px}.entry-amount{font-size:12px}.entry-meta{font-size:9px}.entry-icon{width:29px;height:29px}.entry-title{font-size:11px}.connection{padding:18px 15px}.connection dl{grid-template-columns:1fr}.form-grid{gap:13px}.sheet-body{padding:18px 16px}.sheet-header{padding:16px}.details{grid-template-columns:100px 1fr;font-size:11px}dialog{margin:auto auto 0;width:100%;max-height:92dvh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}.table td,.table th{padding-left:7px;padding-right:7px}.toast{font-size:11px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}.metric,.card{animation:appear .2s ease-out}@keyframes appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}
.entry-title,.entry-meta{display:block}
