:root{--ink: #1b2430;--muted: #5d6b7a;--paper: #f6f5ef;--panel: #ffffff;--line: #d7dbe0;--brand: #1f3a68;--brand-ink: #ffffff;--accent: #e0a526;--focus: #fff4cc;--ok: #17733f;--error: #b42318;--mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--paper)}h1{font-size:1.15rem;margin:0 0 1rem;color:var(--brand)}h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:1.25rem 0 .4rem}a{color:var(--brand)}.muted{color:var(--muted);font-weight:400}.error{color:var(--error)}.ok{color:var(--ok)}.loss{color:var(--error)}.topbar{display:flex;align-items:center;gap:1rem;padding:.45rem 1rem;background:var(--brand);color:var(--brand-ink);border-bottom:3px solid var(--accent)}.topbar a,.topbar .link{color:var(--brand-ink)}.brand{font-weight:800;text-decoration:none}.brand span{font-weight:400;opacity:.8}.company{flex:1;display:flex;gap:.75rem;align-items:baseline}.company .muted{color:#c9d4e6}.actions{display:flex;gap:1rem;align-items:center}.body{display:flex;min-height:calc(100vh - 44px)}main{flex:1;padding:1rem;overflow-x:auto}.fkeys{width:150px;background:#e9ecef;border-left:1px solid var(--line);display:flex;flex-direction:column}.fkeys a{padding:.5rem .75rem;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:.85rem}.fkeys a:hover{background:var(--focus)}.fkeys b{display:inline-block;min-width:2.6em;color:var(--brand);font-family:var(--mono)}.panel{background:var(--panel);border:1px solid var(--line);padding:1rem 1.25rem;max-width:1100px;margin:0 auto}.panel.narrow{max-width:520px;margin-top:3rem}label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--muted);margin-bottom:.6rem}input,select,textarea,button{font:inherit}input,select,textarea{padding:.35rem .5rem;border:1px solid var(--line);border-radius:3px;color:var(--ink);background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);background:var(--focus)}button{padding:.4rem .9rem;border:1px solid var(--line);background:#fff;border-radius:3px;cursor:pointer}button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}button:disabled{opacity:.5;cursor:not-allowed}button.link{background:none;border:none;padding:0;color:var(--brand);text-decoration:underline}button.link.danger{color:var(--error)}form.inline{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;margin-bottom:.75rem}form.inline label{margin:0}.search{width:100%;margin:.5rem 0}.amount{text-align:right;font-family:var(--mono);width:9rem}.short{width:6rem}.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.buttons{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.status-row{min-height:1.5rem;display:flex;gap:1rem}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:.75rem;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--line);padding:.35rem .5rem}td{padding:.3rem .5rem;border-bottom:1px solid #eef0f2;vertical-align:top}tfoot th,tfoot td{border-top:2px solid var(--ink);border-bottom:none;color:var(--ink)}.num{text-align:right;font-family:var(--mono);white-space:nowrap}tr.clickable{cursor:pointer}tr.clickable:hover,tr.detail{background:var(--focus)}table.inner td{border:none;padding:.1rem .5rem}tr.group td{font-weight:600}tr.ledger td:first-child{padding-left:1.5rem;color:var(--muted)}.statement{margin-bottom:.5rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.subtotal{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:.3rem}.result{font-size:1.05rem;font-weight:700;color:var(--ok);text-align:right}.result.loss{color:var(--error)}.badge{font-size:.75rem;padding:.05rem .4rem;border-radius:8px;background:#e8edf5}.badge[data-status=draft]{background:#fff1c2}.badge[data-status=cancelled]{background:#fde2e1}.list{list-style:none;padding:0}.list li{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid #eef0f2}.gateway{max-width:420px}.gateway ul{list-style:none;padding:0;margin:0}.gateway li{padding:.35rem .75rem;cursor:pointer}.gateway li.active{background:var(--accent)}.hot{font-weight:700;color:var(--brand)}.voucher{border-top:4px solid var(--brand)}.voucher[data-type=contra]{border-top-color:#2563eb}.voucher[data-type=payment]{border-top-color:#b45309}.voucher[data-type=receipt]{border-top-color:#15803d}.voucher[data-type=journal]{border-top-color:#6b21a8}.voucher[data-type=sales]{border-top-color:#0369a1}.voucher[data-type=purchase]{border-top-color:#be123c}.voucher-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.tabs{display:flex;gap:.25rem;flex-wrap:wrap}.tabs a{font-size:.8rem;padding:.2rem .5rem;border:1px solid var(--line);text-decoration:none}.tabs a.active{background:var(--brand);color:var(--brand-ink)}table.entry select{width:100%}th.side{width:5rem}@media(max-width:720px){.fkeys{display:none}.two-col{grid-template-columns:1fr}.panel{padding:.75rem}}.small{font-size:.75rem}.badge[data-status=valid]{background:#dff3e6}.badge[data-status=error]{background:#fde2e1}.badge[data-status=duplicate]{background:#fff1c2}.badge[data-status=imported]{background:#e8edf5}.batch-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.counts{display:flex;gap:.4rem;flex-wrap:wrap}.map-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.4rem}.map-row span{min-width:14rem;font-weight:600}.attachments{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0}.chip{display:inline-flex;gap:.35rem;align-items:center;border:1px solid var(--line);border-radius:12px;padding:.1rem .6rem}.file-btn{flex-direction:row;display:inline-flex;margin:0;cursor:pointer;color:var(--brand);text-decoration:underline;font-size:.85rem}@media print{.topbar,.fkeys,form.inline,.buttons,button{display:none!important}body,main,.panel{background:#fff;border:none;padding:0}}.mono{font-family:var(--mono);font-size:.8rem;white-space:nowrap}.inline-check{flex-direction:row;align-items:center;gap:.35rem;margin:0}table.matrix th,table.matrix td{text-align:center}table.matrix td:first-child,table.matrix th:first-child{text-align:left;text-transform:capitalize}td button.link+button.link{margin-left:.75rem}
