@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--canvas:#fff;--surface:#fbeee8;--text:#1a1108;--mute:#6b5f55;--rule:#ebcdbf;--fill:#fff;--accent:#c4522a;--tint:#f2d3c6;--tint-deep:#8e3517;--shadow:inset 0 0 0 1px var(--rule);--lift:5px 5px 0 #e6bba7;--sans:"DM Sans", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;--mono:"IBM Plex Mono", "SF Mono", ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--sans);font-size:15px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--canvas);color:var(--text);-webkit-text-size-adjust:100%;margin:0}h1,h2,h3{margin:0}h1{letter-spacing:-.01em;font-size:1.5rem;font-weight:700}h2,.label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--mute);font-size:.68rem;font-weight:400}a{color:inherit;cursor:pointer;text-decoration:none}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}code{font-family:var(--mono);font-size:.85em}.mono,.num,.amt,input[type=number],input[type=date]{font-family:var(--mono);font-variant-numeric:tabular-nums}.topbar{z-index:5;background:var(--canvas);box-shadow:0 1px 0 var(--rule);padding-top:env(safe-area-inset-top);position:sticky;top:0}.topbar-inner{align-items:center;gap:8px;max-width:1280px;margin:0 auto;padding:0 24px;display:flex;overflow-x:auto}.brand{letter-spacing:.04em;white-space:nowrap;padding:16px 24px 16px 0;font-size:1rem;font-weight:700}.brand span{color:var(--mute);margin-left:8px;font-weight:400}.tab{color:var(--mute);white-space:nowrap;border-bottom:2px solid #0000;margin:0 8px;padding:16px 8px;font-size:.9rem}.tab:hover{color:var(--text)}.tab.on{color:var(--text);border-bottom-color:var(--accent)}.spacer{flex:1}.shell{max-width:1280px;margin:0 auto;padding:0 24px 96px}.shell.narrow{max-width:880px}.page{gap:24px;padding-top:32px;display:grid}@media (width<=640px){.shell,.topbar-inner{padding-left:16px;padding-right:16px}.page{padding-top:24px}}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=640px){.grid2,.grid3{grid-template-columns:1fr}}.card{background:var(--surface);box-shadow:var(--lift);align-content:start;gap:16px;padding:24px;display:grid}.card.ruled{box-shadow:var(--lift), inset 3px 0 0 var(--accent)}@media (width<=640px){.card{padding:16px}}label.f{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--mute);gap:8px;font-size:.68rem;display:grid}label.f>input,label.f>select,label.f>textarea{text-transform:none;letter-spacing:normal;font-family:var(--sans);color:var(--text);font-size:16px}label.f input[type=number],label.f input[type=date]{font-family:var(--mono)}input,select,textarea{font:inherit;color:var(--text);background:var(--fill);box-shadow:inset 0 0 0 1px var(--rule);border:0;border-bottom:2px solid #0000;border-radius:0;width:100%;min-width:0;min-height:44px;padding:8px 12px;font-size:16px}textarea{resize:vertical;min-height:88px}input:focus,select:focus,textarea:focus{border-bottom-color:var(--accent);background:#fff;outline:none}input:disabled,select:disabled,textarea:disabled{opacity:.6}input[type=checkbox]{width:20px;height:20px;min-height:0;accent-color:var(--accent);flex-shrink:0;padding:0}.check{align-items:center;gap:8px;min-height:44px;font-size:.95rem;display:flex}.num{text-align:right}.chips{background:var(--fill);box-shadow:inset 0 0 0 1px var(--rule);border-bottom:2px solid #0000;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:8px;display:flex}.chips:focus-within{border-bottom-color:var(--accent)}.chip{background:var(--tint);box-shadow:var(--shadow);align-items:center;gap:8px;padding:2px 8px 2px 12px;font-size:.85rem;display:inline-flex}.chip button{min-height:0;color:var(--mute);box-shadow:none;background:0 0;padding:0 4px;font-size:1.1rem;line-height:1}.chips input{min-width:160px;box-shadow:none;background:0 0;border:0;flex:1;min-height:28px;padding:4px}.chips input:focus{background:0 0}button{font:inherit;cursor:pointer;min-height:44px;color:var(--text);box-shadow:var(--shadow);background:#fff;border:0;border-radius:0;padding:8px 16px;font-size:.9rem;font-weight:500}button:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--accent)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--text);color:#fff;box-shadow:none}button.primary:hover:not(:disabled){background:var(--accent);box-shadow:none}button.ghost{box-shadow:none;color:var(--mute);background:0 0;padding:8px}button.ghost:hover:not(:disabled),button.danger:hover:not(:disabled){color:var(--text);box-shadow:none}button.danger{box-shadow:none;color:var(--accent);background:0 0}a.btn-link{display:inline-block}.badge{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background:var(--tint);color:var(--tint-deep);vertical-align:middle;padding:2px 8px;font-size:.65rem}.badge.sent{box-shadow:inset 0 0 0 1px var(--text);color:var(--text);background:0 0}.badge.paid{background:var(--text);color:#fff}.badge.void{text-decoration:line-through}.list{background:var(--surface);box-shadow:var(--lift);display:grid}.item{box-shadow:0 -1px 0 var(--rule) inset;cursor:pointer;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding:16px 24px;display:grid}.item:last-child{box-shadow:none}.item:hover{background:#f7e1d7}.item .t{font-weight:500}.item .s{color:var(--mute);font-size:.85rem}.item .amt{text-align:right;font-weight:500}.muted{color:var(--mute)}.small{font-size:.85rem}.err{color:var(--accent);font-size:.9rem;font-weight:500}.okmsg{color:var(--text);box-shadow:inset 3px 0 0 var(--accent);padding-left:8px;font-size:.9rem;font-weight:500}@media (width<=640px){.item{padding:16px}}.editor{gap:24px;display:grid}@media (width>=1100px){.editor.wide{grid-template-columns:minmax(0,600px) minmax(0,1fr);align-items:start}}.editor-form{gap:24px;min-width:0;display:grid}.preview{background:var(--surface);height:calc(100vh - 96px);box-shadow:var(--lift);grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid;position:sticky;top:72px;overflow:hidden}.preview .bar{justify-content:space-between;padding:8px 16px;display:flex}.preview .empty{color:var(--mute);place-items:center;display:grid}.lines{gap:16px;display:grid}.line{background:#f6dfd4;gap:16px;padding:16px;display:grid}.line input,.line select,.line textarea,.line input:focus,.line select:focus{background:#fff}.line-nums{grid-template-columns:96px 1fr auto;align-items:end;gap:16px;display:grid}.line-nums .amt{text-align:right;min-width:120px;padding-bottom:12px;font-weight:500}@media (width<=640px){.line-nums{grid-template-columns:96px 1fr}.line-nums .amt{grid-column:1/-1;padding-bottom:0}}.totals{font-variant-numeric:tabular-nums;gap:8px;width:100%;max-width:440px;margin-left:auto;display:grid}.totals .r{justify-content:space-between;gap:16px;display:flex}.totals .r span:last-child{font-family:var(--mono)}.totals .r.sub{color:var(--mute);font-size:.9rem}.totals .r.big{box-shadow:inset 3px 0 0 var(--accent);align-items:baseline;margin-top:8px;padding:8px 0 0 16px;font-weight:700}.totals .r.big span:last-child{font-size:1.5rem;font-weight:500}.modal-bg{z-index:20;background:#1a110873;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface);gap:16px;width:100%;max-width:640px;max-height:92vh;padding:24px;display:grid;overflow:auto;box-shadow:8px 8px #e6bba7}.scroll-x{background:var(--surface);box-shadow:var(--lift);padding:8px 16px;overflow-x:auto}table.sum{border-collapse:collapse;width:100%;font-size:.9rem}table.sum th{text-align:right;font-family:var(--mono);color:var(--mute);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 1px 0 var(--text);padding:16px 8px 8px;font-size:.66rem;font-weight:400}table.sum th:first-child,table.sum td:first-child{text-align:left}table.sum td{text-align:right;font-family:var(--mono);box-shadow:0 -1px 0 var(--rule) inset;padding:8px}table.sum tr.total td{box-shadow:0 1px 0 var(--text) inset;font-weight:500}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;display:grid}.kpi{background:var(--surface);box-shadow:var(--lift);padding:16px 24px}.kpi .v{font-family:var(--mono);margin-top:8px;font-size:1.4rem;font-weight:500}.kpi.key{box-shadow:var(--lift), inset 3px 0 0 var(--accent)}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.login{background:var(--surface);width:100%;max-width:400px;box-shadow:var(--lift);gap:16px;padding:32px;display:grid}.logo-preview{background:#fff;max-width:120px;max-height:120px;padding:8px;display:block}.chips,.chip,.chips input{text-transform:none;letter-spacing:normal;font-family:var(--sans)}.totals .r.big span:first-child{font-size:1rem}@media (width<=640px){.totals .r.big span:last-child{font-size:1.25rem}}
