:root{--bg:#dee4df;--surface:#fff;--surface-sunk:#f4f7f5;--line:#d3dcd6;--line-strong:#77857d;--text-1:#17211c;--text-2:#4a5a51;--text-3:#57685f;--ink:#23282a;--on-ink:#fff;--danger:#b03a24;--danger-bg:#fcefeb;--warn:#8a6314;--warn-bg:#faf2e0;--safe:#2f6b4f;--safe-bg:#e8f0ea;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;color:var(--text-1);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14181a;--surface:#1d2225;--surface-sunk:#191d20;--line:#2e3639;--line-strong:#6b7773;--text-1:#e8edea;--text-2:#aebab4;--text-3:#98a49e;--ink:#e8edea;--on-ink:#14181a;--danger:#f09077;--danger-bg:#33201b;--warn:#e3b457;--warn-bg:#2e2617;--safe:#6fbf95;--safe-bg:#16281f}}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.page{max-width:880px;padding:var(--s5) var(--s5) 64px;margin:0 auto}.head{margin-bottom:var(--s5)}.head h1{margin:0 0 2px;font-size:1.125rem;font-weight:700;line-height:1.4}.lead{color:var(--text-2);margin:0;font-size:.8125rem}.summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--s2);grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.summary-cell{justify-content:center;gap:var(--s1);min-height:88px;padding:var(--s3) var(--s4);flex-direction:column;display:flex}.summary-cell+.summary-cell{border-left:1px solid var(--line)}.summary-cell.alert{background:var(--danger-bg)}.summary-label{align-items:center;gap:var(--s1);color:var(--text-3);font-size:.75rem;font-weight:600;display:flex}.summary-cell.alert .summary-label{color:var(--danger)}.summary-value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--text-3);font-size:1.75rem;font-weight:700;line-height:1.2}.summary-value.strong{color:var(--text-1)}.summary-cell.alert .summary-value{color:var(--danger)}.summary-unit{margin-left:2px;font-size:.75rem;font-weight:600}.bar{margin:var(--s3) 0;justify-content:flex-end;display:flex}.add{min-height:36px;padding:0 var(--s4);border:1px solid var(--line-strong);background:var(--surface);color:var(--text-1);font:inherit;cursor:pointer;border-radius:6px;font-size:.8125rem;font-weight:600}.add:hover,.add.open{border-color:var(--ink)}.form{margin-bottom:var(--s5);padding:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--s2)}.form-grid{gap:var(--s3);margin-bottom:var(--s3);grid-template-columns:1fr 1fr;display:grid}.field{min-width:0;display:block}.label{margin-bottom:var(--s1);color:var(--text-3);font-size:.75rem;font-weight:600;display:block}input{width:100%;height:40px;padding:0 var(--s3);border:1px solid var(--line-strong);background:var(--surface);color:inherit;font:inherit;border-radius:6px;font-size:.9375rem}input:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.form-actions{gap:var(--s2);display:flex}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:6px}.primary{min-height:36px;padding:0 var(--s4);background:var(--ink);color:var(--on-ink);white-space:nowrap;font-size:.8125rem;font-weight:600}.ghost{min-height:36px;padding:0 var(--s3);border-color:var(--line-strong);color:var(--text-2);white-space:nowrap;background:0 0;font-size:.8125rem}.ghost:hover{border-color:var(--ink);color:var(--text-1)}.small{min-height:32px;font-size:.75rem}.quiet{min-height:32px;padding:0 var(--s2);color:var(--text-3);background:0 0;font-size:.75rem}.quiet:hover{color:var(--danger);text-decoration:underline}.tabs{border-bottom:1px solid var(--line);gap:2px;display:flex}.tab{align-items:center;gap:var(--s1);min-height:40px;padding:0 var(--s3);color:var(--text-2);background:0 0;border:none;border-bottom:3px solid #0000;border-radius:0;font-size:.8125rem;display:flex}.tab.on{border-bottom-color:var(--ink);color:var(--text-1);font-weight:700}.tab-count{background:var(--surface-sunk);color:var(--text-3);font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 6px;font-size:.6875rem;font-weight:600}.tab-count.alert{background:var(--danger);color:#fff}@media (prefers-color-scheme:dark){.tab-count.alert{color:#14181a}}.rows{background:var(--surface);border:1px solid var(--line);border-top:none;margin:0;padding:0;list-style:none}.divider{align-items:center;gap:var(--s1);padding:var(--s3) var(--s4) var(--s2);color:var(--danger);margin:0;font-size:.8125rem;font-weight:600;display:flex}.row{align-items:center;gap:var(--s3);padding:14px var(--s4);border-top:1px solid var(--line);border-left:4px solid #0000;grid-template-columns:1fr 132px 128px 116px;display:grid}.rows>li:first-child .row{border-top:none}.row.overdue{border-left-color:var(--danger)}.row.unpaid,.row.overdue.contacted{border-left-color:var(--warn)}.row.paid{background:var(--surface-sunk);border-left-color:var(--line-strong)}.row-main{min-width:0}.client{overflow-wrap:anywhere;margin:0;font-size:.9375rem;font-weight:600;line-height:1.4}.row.overdue .client{font-weight:700}.project{color:var(--text-2);overflow-wrap:anywhere;margin:2px 0 0;font-size:.8125rem}.row-due{align-items:flex-start;gap:var(--s1);flex-direction:column;display:flex}.due-date{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:.8125rem}.badge{align-items:center;gap:var(--s1);min-height:22px;padding:0 var(--s2);white-space:nowrap;border-radius:4px;font-size:.75rem;font-weight:600;display:inline-flex}.badge.overdue{background:var(--danger-bg);color:var(--danger)}.badge.unpaid{background:var(--warn-bg);color:var(--warn)}.badge.paid{background:var(--safe-bg);color:var(--safe)}.glyph{font-size:.5625rem;line-height:1}.amount{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap;margin:0;font-size:1.0625rem;font-weight:600;line-height:1.2}.row.overdue .amount{font-weight:700}.row.paid .amount{color:var(--text-2);font-weight:400}.yen{color:var(--text-3);margin-right:2px;font-size:.75rem;font-weight:400}.row-actions{align-items:stretch;gap:var(--s1);flex-direction:column;display:flex}.memo{margin:var(--s1) 0 0;color:var(--text-3);overflow-wrap:anywhere;grid-column:1/-1;font-size:.8125rem}.empty{padding:var(--s7) var(--s5);background:var(--surface);border:1px solid var(--line);text-align:center;color:var(--text-2);border-top:none}.empty p{margin:0 0 var(--s3)}.error{margin:0 0 var(--s3);color:var(--danger);font-size:.8125rem}.error.banner{margin-bottom:var(--s4);padding:var(--s3) var(--s4);background:var(--surface);border:1px solid var(--danger);border-left:4px solid var(--danger);border-radius:6px;line-height:1.7}.foot{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--line);color:var(--text-2);text-align:center;font-size:.75rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=767px){.page{padding:var(--s4) var(--s4) 48px}.summary-cell{min-height:72px}.summary-value{font-size:1.375rem}.summary-label{font-size:.6875rem}.form-grid{grid-template-columns:1fr}input{height:48px}.add{width:100%;min-height:48px}.row{gap:var(--s2);padding:var(--s3);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main amount""due due""actions actions""memo memo"}.row-main{grid-area:main}.amount{grid-area:amount;align-self:start}.row-due{align-items:center;gap:var(--s2);flex-flow:wrap;grid-area:due}.row-actions{justify-content:flex-end;align-items:center;gap:var(--s2);flex-direction:row;grid-area:actions}.tabs{scrollbar-width:none;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{padding:0 var(--s2);white-space:nowrap}.memo{grid-area:memo}}@media (pointer:coarse){.primary,.ghost,.add,.tab,.quiet{min-height:44px}}
