:root{--bg:#f4f5f6;--surface:#fff;--surface-2:#eef0f2;--border:#dcdfe3;--border-soft:#e8eaed;--text:#14181c;--text-dim:#5a626a;--text-faint:#858d95;--accent:#1c6b4a;--accent-soft:#e5f1eb;--danger:#a02a31;--danger-soft:#f9e9ea;--warn:#855400;--warn-soft:#fbf1de;--info:#2a5d86;--info-soft:#e6eef5;--sidebar-w:216px;--radius:10px;--shadow:0 1px 2px #1018280a, 0 1px 3px #1018280f;--shadow-lift:0 4px 12px #1018281a;--font:"Segoe UI", Tahoma, system-ui, -apple-system, sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#101315;--surface:#191d20;--surface-2:#21262a;--border:#2c3237;--border-soft:#232a2e;--text:#e7eaec;--text-dim:#9aa3aa;--text-faint:#78818a;--accent:#58bd8a;--accent-soft:#16281f;--danger:#e58a8f;--danger-soft:#2b1a1c;--warn:#dcae5f;--warn-soft:#2a2113;--info:#7cb0d6;--info-soft:#16232d;--shadow:0 1px 2px #00000059;--shadow-lift:0 4px 14px #00000073}}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num,td.num,th.num{font-variant-numeric:tabular-nums}.shell{min-height:100dvh;display:flex}.sidebar{display:none}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{z-index:12;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.topbar-text h1{letter-spacing:-.3px;margin:0;font-size:18px;font-weight:700}.topbar-text p{color:var(--text-dim);margin:1px 0 0;font-size:12.5px}.topbar-actions{align-items:center;gap:8px;display:flex}.content{flex:1;padding:16px 16px 88px}.tabbar{inset-inline:0;z-index:20;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0}.tabbar a{color:var(--text-dim);flex-direction:column;flex:1;align-items:center;gap:2px;padding:9px 4px 7px;font-size:11.5px;font-weight:500;display:flex}.tabbar a.on{color:var(--accent);font-weight:700}.tabbar .ico{font-size:17px;line-height:1}.sidebar-foot,.sidebar-brand,.sidebar-nav{display:none}@media (min-width:768px){.tabbar{display:none}.sidebar{width:var(--sidebar-w);background:var(--surface);border-inline-start:1px solid var(--border);flex-direction:column;flex:none;height:100dvh;display:flex;position:sticky;top:0}.sidebar-brand{letter-spacing:-.3px;border-bottom:1px solid var(--border);padding:18px 18px 14px;font-size:17px;font-weight:700;display:block}.sidebar-brand span{color:var(--text-dim);letter-spacing:0;font-size:12px;font-weight:400;display:block}.sidebar-nav{flex-direction:column;flex:1;padding:10px 0;display:flex}.sidebar-nav a{color:var(--text-dim);border-inline-start:3px solid #0000;align-items:center;gap:10px;padding:9px 18px;font-size:14.5px;display:flex}.sidebar-nav a:hover{background:var(--surface-2);color:var(--text)}.sidebar-nav a.on{background:var(--accent-soft);color:var(--accent);border-inline-start-color:var(--accent);font-weight:600}.sidebar-nav .ico{text-align:center;width:18px;font-size:15px}.sidebar-foot{border-top:1px solid var(--border);padding:12px 18px;display:block}.topbar-signout{display:none}.topbar{padding:14px 22px}.topbar-text h1{font-size:21px}.content{padding:20px 22px 32px}}@media (min-width:1024px){.content{padding:24px 28px 40px}.topbar{padding:16px 28px}}.cards{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px;display:grid}@media (min-width:768px){.cards{grid-template-columns:repeat(4,1fr);gap:12px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:13px 14px}.card-label{color:var(--text-dim);margin-bottom:5px;font-size:12.5px}.card-value{letter-spacing:-.4px;font-variant-numeric:tabular-nums;font-size:19px;font-weight:700;line-height:1.25}.card-note{color:var(--text-faint);margin-top:3px;font-size:11.5px}.card.is-accent .card-value{color:var(--accent)}.card.is-danger .card-value{color:var(--danger)}.card.is-warn .card-value{color:var(--warn)}@media (min-width:1024px){.card-value{font-size:21px}}.row{border-bottom:1px solid var(--border-soft);text-align:right;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:11px 14px;display:flex}.row:last-child{border-bottom:none}.row:hover{background:var(--surface-2)}.row.on{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.row-main{min-width:0}.row-name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.row-sub{color:var(--text-dim);margin-top:1px;font-size:12px}.row-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:left;font-size:14.5px;font-weight:700}.row-value.pos{color:var(--accent)}.row-value.neg{color:var(--danger)}.dt{padding:16px}@media (min-width:1024px){.dt{padding:20px 22px}}.dt h3{letter-spacing:-.3px;margin:0 0 2px;font-size:18px;font-weight:700}.dt-sub{color:var(--text-dim);margin-bottom:16px;font-size:13px}.dt-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px;display:grid}@media (min-width:768px){.dt-grid{grid-template-columns:repeat(4,1fr)}}.dt-cell{background:var(--surface-2);border-radius:8px;padding:10px 12px}.dt-cell .lb{color:var(--text-dim);margin-bottom:2px;font-size:11.5px}.dt-cell .vv{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.dt-section{margin-top:18px}.dt-section>.lb{letter-spacing:.04em;color:var(--text-dim);text-transform:uppercase;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:5px;font-size:12px;font-weight:700}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{text-align:right;white-space:nowrap;padding:9px 12px}th{background:var(--surface-2);color:var(--text-dim);border-bottom:1px solid var(--border);font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border-soft)}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:left;font-weight:600}td.dim{color:var(--text-dim);font-weight:400}.row-index{color:var(--text-faint);font-weight:400}.pill{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-block}.pill.ok{background:var(--accent-soft);color:var(--accent)}.pill.bad{background:var(--danger-soft);color:var(--danger)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.info{background:var(--info-soft);color:var(--info)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:baseline;gap:8px;padding:12px 14px;display:flex}.panel-head h2{margin:0;font-size:14px;font-weight:600}.panel-head .count{color:var(--text-dim);font-size:12.5px}.empty{text-align:center;color:var(--text-faint);padding:36px 16px;font-size:14px}.notice{background:var(--warn-soft);color:var(--warn);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:13px 15px;font-size:14px}.notice.danger{background:var(--danger-soft);color:var(--danger)}.signout{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:7px;width:100%;padding:6px 12px;font-family:inherit;font-size:13px}.signout:hover{color:var(--text);border-color:var(--text-dim)}.login-wrap{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:360px;box-shadow:var(--shadow-lift);padding:28px 24px}.login-card h1{text-align:center;margin:0 0 4px;font-size:20px}.login-card .sub{text-align:center;color:var(--text-dim);margin:0 0 22px;font-size:13px}.field{margin-bottom:14px}.field label{color:var(--text-dim);margin-bottom:6px;font-size:13px;display:block}.field input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:16px}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:11px;font-family:inherit;font-size:15px;font-weight:600}.btn:disabled{opacity:.6;cursor:default}.error{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin-bottom:14px;padding:10px 12px;font-size:13px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.searchbar{align-items:center;gap:8px;margin-bottom:14px;display:flex}.searchbar input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:9px 12px;font-family:inherit;font-size:16px}.searchbar button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;flex:none;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600}.searchbar-clear{color:var(--text-dim);flex:none;padding:6px 4px;font-size:13.5px}.pager{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;font-size:13.5px;display:flex}.pager a{color:var(--accent);font-weight:600}.pager .off{color:var(--text-faint)}.pager-at{color:var(--text-dim);font-variant-numeric:tabular-nums}.hint{color:var(--text-dim);background:var(--surface-2);border-radius:7px;margin:0 0 10px;padding:8px 11px;font-size:12.5px}.movements tbody tr.review td{background:var(--surface-2);color:var(--text-faint);font-style:italic}.movements tbody tr.review .pill{opacity:.65}table.grid{border-collapse:collapse;width:100%;font-size:13.5px}table.grid th{z-index:1;background:var(--surface-2);color:var(--text-dim);text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px;font-size:12px;font-weight:600;position:sticky;top:0}table.grid td{border-bottom:1px solid var(--border-soft);white-space:nowrap;padding:8px 12px}table.grid tbody tr:last-child td{border-bottom:none}table.grid tbody tr:hover td{background:var(--surface-2)}table.grid tbody tr.on td{background:var(--accent-soft)}table.grid tbody tr.on td:first-child{box-shadow:inset 3px 0 0 var(--accent)}table.grid th.idx,table.grid td.idx{width:38px;color:var(--text-faint);text-align:center;font-weight:400}table.grid td.num,table.grid th.num{text-align:left;font-variant-numeric:tabular-nums;font-weight:600}table.grid td.dim{color:var(--text-dim);font-weight:400}.cell-link{color:inherit;display:block}.cell-link:hover{color:var(--accent)}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}.muted{color:var(--text-faint);font-weight:400}.pos{color:var(--accent)}.neg{color:var(--danger)}.warnv{color:var(--warn)}@media (max-width:767px){table.grid th.sec,table.grid td.sec{display:none}}.filters{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:flex-end;gap:10px;padding:13px 15px;display:flex}.filters label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:12px;display:flex}.filters input[type=date]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:7px 10px;font-family:inherit;font-size:14px}.filters button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:8px 16px;font-family:inherit;font-size:13.5px;font-weight:600}.totals{background:var(--border-soft);border-bottom:1px solid var(--border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}@media (min-width:768px){.totals{grid-template-columns:repeat(4,1fr)}}.totals>div{background:var(--surface);padding:11px 14px}.totals span{color:var(--text-dim);margin-bottom:2px;font-size:12px;display:block}.totals strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}dialog.modal{width:100%;max-width:100vw;height:100%;max-height:100dvh;color:var(--text);background:0 0;border:none;padding:0;overflow:visible}dialog.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0e128c}.modal-box{inset-inline:0;background:var(--surface);border-top:1px solid var(--border);max-height:92dvh;box-shadow:var(--shadow-lift);border-radius:16px 16px 0 0;flex-direction:column;display:flex;position:absolute;bottom:0;overflow:hidden}@media (min-width:768px){.modal-box{border:1px solid var(--border);border-radius:14px;width:min(1100px,94vw);max-height:90dvh;margin:5dvh auto;position:relative;inset:auto}.modal-box.narrow{width:min(560px,94vw)}}.modal-head{border-bottom:1px solid var(--border);background:var(--accent-soft);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.modal-head h2{color:var(--accent);margin:0;font-size:16.5px;font-weight:700;line-height:1.35}.modal-head p{color:var(--text-dim);margin:3px 0 0;font-size:12.5px}.modal-close{width:34px;height:34px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;place-items:center;font-family:inherit;font-size:15px;display:grid}.modal-close:hover{background:var(--surface);border-color:var(--border);color:var(--text)}.modal-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}@media (max-width:767px){.modal-box:before{content:"";background:var(--border);border-radius:999px;flex:none;width:38px;height:4px;margin:8px auto 0;display:block}}.filter-btn{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;border-radius:8px;flex:none;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex}.filter-btn:hover{color:var(--text);border-color:var(--text-faint)}.filter-btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.filter-btn em{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-style:normal;display:grid}.chips{flex-wrap:wrap;gap:6px;margin:-6px 0 14px;display:flex}.chip{background:var(--accent-soft);color:var(--accent);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip-lb{color:var(--text-dim);font-weight:400}.chip-x{opacity:.75;font-size:10px}.chip.clear{color:var(--text-dim);border-color:var(--border);background:0 0}.chip.clear:hover{color:var(--danger);border-color:var(--danger)}.filter-form{padding:16px}.filter-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (min-width:520px){.filter-grid{grid-template-columns:1fr 1fr}}.filter-field{flex-direction:column;gap:5px;display:flex}.filter-field>span{color:var(--text-dim);font-size:12.5px;font-weight:600}.filter-field select,.filter-field input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:9px 11px;font-family:inherit;font-size:15px}.filter-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:14px;display:flex}.btn-main{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 22px;font-family:inherit;font-size:14.5px;font-weight:600}.btn-ghost{border:1px solid var(--border);color:var(--text-dim);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600}.btn-ghost:hover{color:var(--danger);border-color:var(--danger)}.modal-body .filters{border-radius:0}.modal-body .totals{border-top:none}.rowmenu-wrap{position:relative}.rowmenu-wrap tr[data-row-id]{-webkit-touch-callout:none}.rowmenu{z-index:60;background:var(--surface);border:1px solid var(--border);min-width:232px;box-shadow:var(--shadow-lift);border-radius:11px;padding:5px;animation:.12s ease-out rowmenu-in;position:fixed}@keyframes rowmenu-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.rowmenu{animation:none}}.rowmenu-head{border-bottom:1px solid var(--border-soft);color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:260px;margin-bottom:4px;padding:7px 11px 9px;font-size:12.5px;font-weight:700;overflow:hidden}.rowmenu-item{width:100%;color:var(--text);text-align:right;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:9px 11px;font-family:inherit;font-size:14px;display:flex}.rowmenu-item:hover:not(.off){background:var(--accent-soft);color:var(--accent)}.rowmenu-item .ico{text-align:center;flex:none;width:17px;font-size:14px}.rowmenu-item.off{color:var(--text-faint);cursor:not-allowed}.rowmenu-item.off em{background:var(--surface-2);color:var(--text-faint);border-radius:999px;flex:none;margin-inline-start:auto;padding:2px 8px;font-size:11px;font-style:normal}.card-actions{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;gap:8px;padding:13px 15px;display:flex}.card-actions .btn-main,.card-actions .btn-ghost{align-items:center;gap:6px;display:inline-flex}.factlist{background:var(--border-soft);grid-template-columns:1fr;gap:1px;margin:0;display:grid}@media (min-width:560px){.factlist{grid-template-columns:1fr 1fr}.factlist .wide{grid-column:1/-1}}.factlist>div{background:var(--surface);align-items:baseline;gap:10px;padding:10px 15px;display:flex}.factlist dt{width:92px;color:var(--text-dim);flex:none;font-size:12.5px}.factlist dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:600}.invoice-section{border-top:1px solid var(--border)}.invoice-section>header{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:11px 15px;display:flex}.invoice-section>header h3{margin:0;font-size:14px}.invoice-section>header span,.invoice-section>header strong{color:var(--text-dim);font-size:12.5px}.cell-note{color:var(--text-dim);white-space:normal;margin-top:2px;font-size:11.5px;font-weight:400;display:block}
