:root{--ink: #2b2925;--muted: #6e6a62;--paper: #faf9f5;--side: #f2f0e9;--panel: #ffffff;--line: #e4e0d6;--hover: #e9e6dd;--brand: #a8492a;--brand-ink: #ffffff;--accent: #d97757;--focus: #fbefe8;--ok: #17733f;--error: #b42318;--radius: 12px;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--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:500 1.5rem/1.25 var(--serif);margin:0 0 1rem;color:var(--ink);letter-spacing:-.01em}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)}.app{display:grid;grid-template-columns:264px 1fr;min-height:100vh;transition:grid-template-columns .18s ease}.app.collapsed,.app.narrow{grid-template-columns:0 1fr}.sidebar{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;gap:.5rem;background:var(--side);border-right:1px solid var(--line);padding:.75rem .6rem;width:264px;transition:transform .18s ease,opacity .18s ease}.app.collapsed .sidebar{transform:translate(-100%);opacity:0;pointer-events:none}.app.narrow .sidebar{position:fixed;left:0;z-index:30;box-shadow:0 10px 40px #0000002e}.scrim{position:fixed;inset:0;background:#1e1c1840;z-index:20}.side-top{display:flex;align-items:center;justify-content:space-between;padding:.15rem .25rem .35rem}.wordmark{display:flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--ink);font:600 1.02rem var(--serif)}.mark{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--brand);color:#fff;font:600 .95rem var(--serif)}.icon{display:inline-flex;flex:none}.icon-btn,.float-toggle{display:grid;place-items:center;width:34px;height:34px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.icon-btn:hover{background:var(--hover);color:var(--ink)}.float-toggle{position:fixed;top:12px;left:12px;z-index:25;background:var(--panel);border:1px solid var(--line);box-shadow:0 2px 10px #00000014}.float-toggle:hover{color:var(--ink);background:var(--side)}.new-btn{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;background:var(--panel);border:1px solid var(--line)}.new-btn .icon{color:#fff;background:var(--brand);border-radius:50%;padding:2px}.new-btn:hover{border-color:var(--accent)}.side-nav{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1px;margin:0 -.2rem;padding:0 .2rem}.side-head{margin:.9rem .6rem .25rem;font-size:.72rem;font-weight:600;color:var(--muted);letter-spacing:.02em}.side-nav a{display:flex;align-items:center;gap:.6rem;padding:.38rem .6rem;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.88rem;white-space:nowrap}.side-nav a .icon{color:var(--muted)}.side-nav a:hover{background:var(--hover)}.side-nav a.active{background:var(--hover);font-weight:600}.side-nav a.active .icon{color:var(--brand)}.side-nav .label{flex:1;overflow:hidden;text-overflow:ellipsis}kbd{font:.68rem var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 .3rem;background:var(--paper)}.side-bottom{display:flex;flex-direction:column;gap:.35rem;border-top:1px solid var(--line);padding-top:.5rem}.company-card,.profile-btn{display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem .55rem;border-radius:10px;text-decoration:none;color:var(--ink);border:none;background:transparent;text-align:left;cursor:pointer}.company-card:hover,.profile-btn:hover{background:var(--hover)}.company-card .icon,.profile-btn>.icon{color:var(--muted)}.company-card .label,.who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.company-card b,.who b{font-size:.85rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.company-card small,.who small{color:var(--muted);font-size:.74rem}.avatar{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#3d3a35;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.02em}.avatar.lg{width:38px;height:38px;font-size:.9rem}.profile{position:relative}.menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;z-index:40;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #00000024;padding:.35rem}.menu-head{display:flex;gap:.6rem;align-items:center;padding:.5rem .5rem .6rem;border-bottom:1px solid var(--line);margin-bottom:.3rem}.menu-head div{display:flex;flex-direction:column;min-width:0}.menu-head small{color:var(--muted);font-size:.75rem;overflow:hidden;text-overflow:ellipsis}.menu a,.menu button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.45rem .55rem;border-radius:8px;border:none;background:none;color:var(--ink);text-decoration:none;font-size:.88rem;cursor:pointer;text-align:left}.menu a:hover,.menu button:hover{background:var(--side)}.menu kbd{margin-left:auto}.menu .icon{color:var(--muted)}main{min-width:0;padding:1.5rem 1.75rem 3rem;overflow-x:auto}.app.collapsed main,.app.narrow main{padding-top:3.75rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.5rem;max-width:1100px;margin:0 auto;box-shadow:0 1px 2px #00000008}.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:.4rem .6rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;background:#fff}button{padding:.42rem .95rem;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;color:var(--ink)}button:hover:not(:disabled){background:var(--side)}button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}button.primary:hover:not(:disabled){background:#8f3d22}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{border-radius:8px}.gateway li.active{background:var(--focus);color:var(--brand)}.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 .55rem;border:1px solid var(--line);border-radius:6px;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){.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{.sidebar,.float-toggle,.scrim,form.inline,.buttons,button{display:none!important}.app{display:block}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}.bulk{margin:.25rem 0 1rem;border:1px dashed var(--line);border-radius:10px;padding:.5rem .75rem}.bulk summary{cursor:pointer;color:var(--brand);font-weight:600}.inline-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.5rem 0}.badge[data-status=active]{background:#dff3e4}.badge[data-status=completed]{background:#e3ecfb}.badge[data-status=closed]{background:#e9ecef;color:var(--muted)}nav.tabs[role=tablist]{border-bottom:2px solid var(--line);margin:.5rem 0 1rem}.tabs button{border:none;border-bottom:3px solid transparent;border-radius:0;background:none;padding:.4rem .9rem}.tabs button.active{border-bottom-color:var(--brand);color:var(--brand);font-weight:600}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:.75rem 0 1rem}.kpis div{border:1px solid var(--line);border-radius:10px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.15rem}.kpis span{font-size:.75rem;text-transform:uppercase;color:var(--muted)}.kpis b{font-family:var(--mono);font-size:1.05rem}.kpis small{color:var(--muted)}.scroll-x{overflow-x:auto}select.compact{padding:.1rem .3rem;font-size:.85rem}.actions-cell{white-space:nowrap;display:flex;gap:.75rem}
