@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap";:root{--bg: #ffffff;--panel: #ffffff;--panel-2: #f5f5f5;--border: #888888;--border-2: #444444;--text: #000000;--muted: #444444;--dim: #888888;--accent: #16a34a;--accent-2: #15803d;--accent-soft: rgba(45, 125, 58, .1);--debit: #16a34a;--credit: #c0392b;--blue: #185fa5;--red: #c0392b;--green: #16a34a;--sidebar: #ffffff;--row-hover: rgba(45, 125, 58, .06);--row-active: rgba(45, 125, 58, .14);--total-bg: rgba(0, 0, 0, .04);--revised-bg: rgba(45, 125, 58, .1);--sel-bg: #e0dcfb;--sel-bar: #6d28d9}[data-theme=dark]{--bg: #0f1419;--panel: #161b22;--panel-2: #1c232c;--border: #262f3a;--border-2: #374151;--text: #e6edf3;--muted: #8b95a3;--dim: #6b7280;--accent: #d4a056;--accent-2: #e8b86c;--accent-soft: rgba(212, 160, 86, .12);--debit: #5fb3a1;--credit: #e07a5f;--blue: #7aa5d2;--red: #e07a5f;--green: #5fb3a1;--sidebar: #0a0e13;--row-hover: rgba(255, 255, 255, .04);--row-active: rgba(255, 255, 255, .18);--total-bg: rgba(255, 255, 255, .06);--revised-bg: rgba(95, 179, 161, .1);--sel-bg: #4c3a8c;--sel-bar: #a78bfa}[data-theme=light]{--bg: #fafaf7;--panel: #ffffff;--panel-2: #f4f4f0;--border: #e0dfd9;--border-2: #cbcac4;--text: #1a1a1a;--muted: #666460;--dim: #9b9994;--accent: #a06b1f;--accent-2: #c08a3d;--accent-soft: rgba(160, 107, 31, .1);--debit: #2e7d6d;--credit: #b85638;--blue: #3a6a9a;--red: #b85638;--green: #2e7d6d;--sidebar: #f0efe9;--row-hover: rgba(0, 0, 0, .03);--row-active: rgba(0, 0, 0, .08);--total-bg: rgba(0, 0, 0, .04);--revised-bg: rgba(46, 125, 109, .1);--sel-bg: #d6d0f5;--sel-bar: #5b21b6}[data-theme=sepia]{--bg: #ffffff;--panel: #f0f5ef;--panel-2: #e0ebde;--border: #9eb2a0;--border-2: #7a8e7c;--text: #0a1a10;--muted: #2e4035;--dim: #566a5b;--accent: #175c34;--accent-2: #1f7a44;--accent-soft: rgba(23, 92, 52, .1);--debit: #175c34;--credit: #8c3a1f;--blue: #1f4366;--red: #8c3a1f;--green: #175c34;--sidebar: #dde7db;--row-hover: rgba(23, 92, 52, .07);--row-active: rgba(23, 92, 52, .16);--total-bg: rgba(23, 92, 52, .04);--revised-bg: rgba(23, 92, 52, .1);--sel-bg: #d2cdf2;--sel-bar: #5b21b6}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono{font-family:JetBrains Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums}.serif{font-family:Fraunces,Georgia,serif}a{color:var(--accent);text-decoration:none}input,select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:7px 10px;font-size:13px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input[type=number]{font-family:JetBrains Mono,monospace;text-align:right}.field{display:flex;flex-direction:column;gap:4px}.field>label{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-weight:600}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);color:var(--text);font-size:12.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--row-hover);border-color:var(--border-2)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn-danger{color:var(--red)}.btn-danger:hover{background:#c0392b1a;border-color:var(--red)}.btn-sm{padding:4px 8px;font-size:11.5px}.btn-icon{padding:5px 8px}.btn svg{width:15px;height:15px;flex:none}.tabs-bar{display:flex;align-items:flex-end;gap:3px;height:34px;background:var(--sidebar);border-bottom:1px solid var(--border);padding:0 6px;overflow-x:auto}.tab-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:5px 5px 0 0;font-size:11.5px;color:var(--muted);cursor:pointer;max-width:240px;border:1px solid transparent;border-bottom:none}.tab-item .label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-item:hover{background:var(--row-hover)}.tab-item.active{background:var(--bg);border-color:var(--border);border-bottom-color:var(--bg);color:var(--accent);font-weight:600}table{border-collapse:collapse;width:100%}thead th{background:#000;color:#fff;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:5px 10px;border-bottom:2px solid #000000;border-right:1px solid rgba(255,255,255,.12);text-align:left}thead th,thead th span,thead th a,thead th b,thead th small,thead th label,thead th svg{color:#fff}thead th input,thead th select,thead th textarea{background:var(--bg);color:var(--text)}tbody td{padding:3px 8px;border-bottom:1px solid var(--border);font-size:12px}tbody tr:hover{background:var(--row-hover)}.num{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;text-align:right}body.density-compact tbody td{padding-top:1px;padding-bottom:1px}body.density-compact thead th{padding-top:3px;padding-bottom:3px}body.density-large tbody td{padding-top:7px;padding-bottom:7px}body.density-large thead th{padding-top:8px;padding-bottom:8px}.module-card{border:3px solid #000000;border-radius:8px;padding:22px 20px;box-shadow:3px 3px #000;min-height:160px;background:var(--panel);display:flex;flex-direction:column;cursor:pointer;text-decoration:none;color:var(--text);transition:transform .12s,box-shadow .12s,background .12s}.module-card.active:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--accent);background:var(--accent-soft)}.module-card.inactive{opacity:.45;cursor:default;box-shadow:3px 3px 0 var(--border-2)}.module-card .icon-wrap{width:42px;height:42px;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:14px}.module-card .icon-wrap svg{width:34px;height:34px}.module-card .title{font-size:17px;font-weight:700;margin-bottom:7px}.module-card .desc{font-size:12px;color:var(--muted);line-height:1.6;flex:1}.module-card .badge-soon{align-self:flex-start;margin-top:12px;padding:3px 9px;border-radius:4px;font-size:11px;font-weight:600;background:var(--accent-soft);color:var(--accent)}.module-card .badge-soon.off{background:#64748b26;color:var(--dim)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;min-width:360px;max-width:90vw;max-height:86vh;display:flex;flex-direction:column;box-shadow:0 16px 48px #0006}.modal-h{font-family:Fraunces,serif;font-size:17px;font-weight:600;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-b{padding:18px 20px;overflow-y:auto}.modal-f{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.toast-stack{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:1100}.toast{background:var(--panel);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:4px;padding:10px 14px;font-size:12.5px;box-shadow:0 6px 18px #00000040;min-width:240px;max-width:360px}.toast.success{border-left-color:var(--green)}.toast.error{border-left-color:var(--red)}.toast.warn{border-left-color:#d4a056}tr.entry-flash{animation:entryFlash 1.5s ease-out}@keyframes entryFlash{0%{background:#d4a05673}to{background:transparent}}tr.hi-line>td{background:#d4a0562e!important;box-shadow:inset 3px 0 0 var(--accent)}tr.hi-line.entry-flash>td{background:#d4a05673!important}tr.revised td:first-child:before{content:"✓ ";color:var(--green, #5fb3a1);font-weight:700}tr.row-selected{background:var(--sel-bg)!important;box-shadow:inset 4px 0 0 var(--sel-bar);font-weight:600}tr.row-selected>td{background:transparent}.col-resizer{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:5;background:transparent}.col-resizer:after{content:"";position:absolute;top:15%;bottom:15%;left:50%;width:2px;transform:translate(-50%);background:#ffffff4d;border-radius:1px;transition:background .1s,opacity .1s}.col-resizer:hover:after,.col-resizer.dragging:after{top:0;bottom:0;width:3px;background:var(--accent);opacity:.7}thead th[draggable=true]{cursor:grab}thead th.col-dragover{box-shadow:inset 3px 0 0 var(--accent)}.kbd{font-family:JetBrains Mono,monospace;font-size:10.5px;padding:1px 5px;border:1px solid var(--border);border-bottom-width:2px;border-radius:3px;background:var(--panel-2);color:var(--muted)}.tag{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 6px;border-radius:3px}.tag-d{background:#16a34a26;color:var(--debit)}.tag-c{background:#c0392b26;color:var(--credit)}.tag-coll{background:#185fa526;color:var(--blue)}.tag-warn{background:#fcd34d;color:#000;border:1px solid #000}.app-topbar{height:46px;background:#000;color:#fff;display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid #1a1a1a}.app-brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:1.5px;font-size:14px;color:#fff;text-decoration:none}.app-brand .logo{width:30px;height:30px;background:var(--accent);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#fff}.app-topbar .nav-link{display:inline-flex;align-items:center;gap:6px;color:#ffffffa6;font-size:12.5px;text-decoration:none;padding:6px 8px;border-radius:5px}.app-topbar .nav-link:hover{color:#fff;background:#ffffff14}.app-topbar .nav-link.active{color:#fff;background:#ffffff1f}.app-topbar .spacer{flex:1}.app-topbar .user{font-size:12px;color:#ffffff8c}.app-topbar .topbar-btn{display:inline-flex;align-items:center;gap:6px;background:#1a1a1a;border:1px solid #444444;color:#fffc;border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer;font-family:inherit}.app-topbar .topbar-btn:hover{color:#fff;border-color:#666}.app-topbar select.theme-select{background:#1a1a1a;border:1px solid #444444;color:#fffc;border-radius:6px;padding:5px 8px;font-size:12px}.app-shell{display:grid;grid-template-columns:220px 1fr;height:calc(100vh - 46px)}.app-shell-split{grid-template-columns:300px 1fr}.app-sidebar{background:var(--sidebar);border-right:1px solid var(--border);overflow-y:auto;padding:8px 0}.app-content{overflow:auto;padding:0}.nav-item{position:relative;display:flex;align-items:center;gap:10px;margin:1px 8px;padding:8px 12px;font-size:12.5px;color:var(--text);cursor:pointer;border-radius:9px;transition:background .16s ease,color .16s ease,transform .12s ease,box-shadow .16s ease}.nav-item:hover{background:var(--row-hover);transform:translate(2px)}.nav-item.active{background:linear-gradient(95deg,color-mix(in srgb,var(--accent) 16%,transparent),transparent 85%);color:var(--accent);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.nav-item svg{color:var(--muted);flex:none;transition:color .16s ease}.nav-item:hover svg,.nav-item.active svg{color:var(--accent)}.nav-cat{display:flex;align-items:center;gap:8px;margin:6px 8px 2px;padding:8px 12px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9px;transition:background .16s ease}.nav-cat:hover{background:var(--row-hover)}.nav-cat>svg:first-child{color:var(--accent);transition:transform .18s ease}.nav-sub{margin:2px 0 6px 22px;padding-left:6px;border-left:2px solid var(--border);animation:navReveal .18s ease}@keyframes navReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app-sidebar>.nav-item{text-transform:uppercase;letter-spacing:.4px;font-weight:700}.nav-sub .nav-item{text-transform:none;font-weight:400;margin:1px 6px 1px 0;padding-left:14px}.app-sidebar-split{display:flex;width:300px;padding:0;border-right:none;box-shadow:1px 0 10px #0f172a0d}.rail{width:56px;flex:none;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0;background:color-mix(in srgb,var(--sidebar) 88%,var(--accent) 12%)}.rail-sep{width:26px;height:1px;background:var(--border);margin:5px 0}.rail-ico{width:42px;height:42px;border:none;background:none;border-radius:12px;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .16s ease,color .16s ease,transform .12s ease}.rail-ico:hover{background:var(--row-hover);color:var(--text);transform:translateY(-1px)}.rail-ico.active{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 22%,transparent),transparent);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.rail-ico.rail-drag{opacity:.45;transform:scale(.88);cursor:grabbing}.rail-ico.rail-over{box-shadow:inset 0 3px 0 var(--accent);background:var(--row-hover)}.rail{touch-action:pan-y}.rail-panel{flex:1;min-width:0;overflow-x:hidden;overflow-y:auto;padding:8px 0;animation:navReveal .18s ease}.rail-panel{padding-right:6px}.rail-panel .nav-item{white-space:normal;overflow-wrap:anywhere;line-height:1.25;overflow:hidden;min-width:0}.rail-panel .nav-item svg{flex:none}.rail-panel-title{display:flex;align-items:center;gap:7px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:11.5px;color:var(--text);padding:8px 14px 10px}.rail-panel-title svg{color:var(--accent)}.page{padding:24px 28px;max-width:1200px}.page-title{font-family:Fraunces,serif;font-size:24px;font-weight:600;margin:0 0 4px}.page-sub{color:var(--muted);font-size:13px;margin:0 0 24px}[data-density=compact] .page{padding:12px 16px;max-width:none}[data-density=compact] .page-title{font-size:18px;margin:0 0 2px}[data-density=compact] .page-sub{font-size:11.5px;margin:0 0 12px}[data-density=compact] thead th{padding:3px 8px;font-size:10px}[data-density=compact] tbody td{padding:1px 6px;font-size:11px}[data-density=compact] .field>label,[data-density=compact] .field>span{font-size:10px}[data-density=compact] .field input,[data-density=compact] .field select,[data-density=compact] .field textarea{padding:3px 6px;font-size:12px}[data-density=compact] .card,[data-density=compact] .panel{padding:10px 12px}[data-density=compact] h1{font-size:18px}[data-density=compact] h2{font-size:15px}[data-density=compact] h3{font-size:13px}@media screen{body{zoom:.9}thead th{position:sticky;top:0;z-index:2}:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:3px}tbody tr{transition:background-color .12s ease}button{transition:background-color .12s ease,border-color .12s ease,color .12s ease}button:disabled,input:disabled,select:disabled{cursor:not-allowed}*{scrollbar-width:thin;scrollbar-color:var(--dim) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--dim);border-radius:6px;border:2px solid var(--bg)}*::-webkit-scrollbar-track{background:transparent}}@page{size:A4;margin:14mm 12mm 16mm}@page{@bottom-right{content:"Page " counter(page) " / " counter(pages);font-size:8pt;color:#64748b}}@media screen{.print-only{display:none!important}}.printable-a4{max-width:794px;margin:0 auto}@media print{.no-print,.app-topbar,.app-sidebar{display:none!important}.app-shell,.app-content{display:block!important;overflow:visible!important;height:auto!important}html,body,#root{background:#fff!important;height:auto!important;overflow:visible!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.printable{display:block!important;background:#fff!important;color:#0f172a!important;box-shadow:none!important;border:none!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important;font-family:Segoe UI,Arial,Helvetica,sans-serif;font-size:9pt;line-height:1.35}.printable>*{float:none!important;width:auto!important;min-width:0!important}.printable .print-only{margin-bottom:12px}.printable h1{font-size:16pt;margin:0 0 2px;color:#0f172a!important}.printable h2,.printable h3{color:#0f172a!important}.printable h1,.printable h2,.printable h3,.printable .print-only{page-break-after:avoid;break-after:avoid}.printable table{width:100%!important;border-collapse:collapse;page-break-inside:auto;margin:0 0 10px}.printable thead{display:table-header-group}.printable tfoot{display:table-footer-group}.printable table th,.printable table td{border:1px solid #cbd5e1!important;color:#0f172a!important;padding:3px 6px!important;font-size:8.5pt;vertical-align:top}.printable thead tr:first-child th{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.3px;font-size:8pt}.printable thead tr:nth-child(n+2) th{background:#fff!important;border-color:#e2e8f0!important;padding:0!important}.printable input,.printable select,.printable button{display:none!important}.printable tbody tr{background:#fff!important;box-shadow:none!important;page-break-inside:avoid}.printable tbody tr:nth-child(2n){background:#f4f7fb!important}.printable tbody td{color:#0f172a!important}.printable tbody tr.b td,.printable tbody tr.total td,.printable tbody tr.totaux td{font-weight:700;background:#e8eefc!important}.printable .num,.printable td[class*=num],.printable th[class*=num]{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.printable .num,.printable .mono,.printable td.mono,.printable .col-min,.printable th.col-min,.printable td.col-min{width:1%!important;min-width:0!important;max-width:none!important;white-space:nowrap}.printable .col-lib,.printable th.col-lib,.printable td.col-lib{width:auto!important;min-width:0!important;max-width:none!important;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.printable section{page-break-inside:avoid}.print-foot{position:fixed;bottom:5mm;left:12mm;right:40mm;text-align:left;font-size:8pt;color:#475569;font-weight:600}.print-only~.print-only{page-break-before:always}}
