:root{--sl-bg:#f6f8fa;--sl-bg-raised:#fbfcfd;--sl-bg-subtle:#f0f3f7;--sl-card:#fff;--sl-card-hover:#fbfcfd;--sl-pebble:#e8ecf2;--sl-border:#e3e8ef;--sl-border-subtle:#eef1f5;--sl-border-bright:#cbd5e1;--sl-border-strong:#94a3b8;--sl-heading:#0b0f19;--sl-text:#1f2937;--sl-text-secondary:#334155;--sl-text-muted:#4b5563;--sl-text-dim:#6b7280;--sl-input:#fff;--sl-input-border:#cbd5e1;--il-accent:#7c3aed;--il-accent-strong:#6d28d9;--il-accent-soft:#f5f3ff;--il-accent-dim:#7c3aed14;--il-accent-border:#ddd6fe;--il-accent-soft-bg:#f5f3ff;--il-accent-glow:#7c3aed2e;--cl-accent:#16a34a;--cl-accent-strong:#15803d;--cl-accent-soft:#ecfdf5;--cl-accent-dim:#16a34a14;--cl-accent-border:#bbf7d0;--cl-accent-glow:#16a34a2e;--sl-orange:#e87722;--sl-green:#16a34a;--sl-red:#dc2626;--sl-red-soft:#fef2f2;--sl-red-dim:#dc262614;--sl-amber:#d97706;--sl-amber-soft:#fffbeb;--sl-blue:#2563eb;--sl-purple:#7c3aed;--il-status-paid:#16a34a;--il-status-sent:#2563eb;--il-status-draft:#6b7280;--il-status-overdue:#dc2626;--il-status-partial:#d97706;--cl-shadow-xs:0 1px 2px #0f172a0a;--cl-shadow-sm:0 1px 2px #0f172a0d, 0 1px 3px #0f172a0a;--cl-shadow-card:0 1px 0 #fff inset, 0 1px 3px #0f172a0a, 0 10px 28px -16px #0f172a1a;--cl-shadow-card-hover:0 1px 0 #fff inset, 0 1px 3px #0f172a0d, 0 24px 56px -18px #0f172a2e;--cl-shadow-popover:0 1px 0 #fff inset, 0 16px 40px -8px #0f172a29;--ledger-canvas:#fff;--ledger-canvas-alt:#fafbfc;--ledger-cell-border:#e5e7eb;--ledger-cell-border-strong:#cbd5e1;--ledger-text:#0f172a;--ledger-text-muted:#64748b;--ledger-header-bg:#f5f3ff;--ledger-header-text:#334155;--ledger-selection:#7c3aed1a;--ledger-selection-border:var(--il-accent);--ledger-focus-ring:#7c3aed47;--ledger-row-hover:#faf8ff;--ledger-section-bg:#f5f3ff}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--sl-bg);color:var(--sl-text);font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Barlow,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.num,td.num,.il-money{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.il-h1{letter-spacing:-.01em;color:var(--sl-heading);font-family:Barlow Condensed,sans-serif;font-size:clamp(32px,4vw,44px);font-weight:800;line-height:1.05}.il-h2{letter-spacing:-.005em;color:var(--sl-heading);font-family:Barlow Condensed,sans-serif;font-size:clamp(24px,2.8vw,32px);font-weight:800}.il-eyebrow{background:var(--il-accent-dim);border:1px solid var(--il-accent-border);color:var(--il-accent-strong);text-transform:uppercase;letter-spacing:.08em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.il-mono-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.il-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-family:inherit;font-size:13px;font-weight:700;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.il-btn:active{transform:translateY(1px)}.il-btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);padding:10px 18px;box-shadow:0 4px 14px #7c3aed40,inset 0 1px #fff3}.il-btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px #7c3aed59,inset 0 1px #ffffff3d}.il-btn-ghost{background:var(--sl-card);color:var(--sl-heading);border:1px solid var(--sl-border-bright);box-shadow:var(--cl-shadow-xs);padding:10px 16px}.il-btn-ghost:hover{border-color:var(--il-accent);color:var(--il-accent)}.il-btn-sm{border-radius:8px;padding:8px 14px;font-size:12.5px}.il-nav-link{color:var(--sl-text-secondary);letter-spacing:.01em;font-size:13px;font-weight:600;text-decoration:none;transition:color .15s}.il-nav-link:hover{color:var(--il-accent)}.il-label{color:var(--sl-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:11px;font-weight:700;display:block}.il-input{border:1px solid var(--sl-input-border);background:var(--sl-input);width:100%;color:var(--sl-text);border-radius:8px;outline:none;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.il-input:focus{border-color:var(--il-accent);box-shadow:0 0 0 3px var(--il-accent-glow)}.il-input::placeholder{color:var(--sl-text-dim)}.il-card{background:var(--sl-card);border:1px solid var(--sl-border);box-shadow:var(--cl-shadow-card);border-radius:12px;padding:20px;transition:transform .18s cubic-bezier(.2,0,.2,1),box-shadow .18s,border-color .18s}.il-card-hover{cursor:pointer}.il-card-hover:hover{border-color:var(--il-accent-border);box-shadow:var(--cl-shadow-card-hover);transform:translateY(-2px)}.il-page{max-width:1400px;margin:0 auto;padding:28px 28px 80px}.il-page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}@media (max-width:768px){.il-page{padding:20px 18px 80px}}.il-chip{font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.il-chip-paid{color:#15803d;background:#ecfdf5;border:1px solid #bbf7d0}.il-chip-sent{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.il-chip-draft{color:var(--sl-text-muted);background:#f1f5f9;border:1px solid #e2e8f0}.il-chip-overdue{background:var(--sl-red-soft);color:var(--sl-red);border:1px solid #fecaca}.il-chip-partial{background:var(--sl-amber-soft);color:var(--sl-amber);border:1px solid #fde68a}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border:2px solid var(--sl-bg);background:#0f172a24;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#0f172a38}:focus-visible{outline:2px solid var(--il-accent);outline-offset:2px;border-radius:4px}@keyframes il-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes il-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.15)}}@keyframes il-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes il-ledger-scroll{0%{transform:translateY(100%)}to{transform:translateY(-100%)}}@keyframes il-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes il-beat-1{0%,28%{opacity:1}33%,to{opacity:0}}@keyframes il-beat-2{0%,28%{opacity:0}33%,61%{opacity:1}66%,to{opacity:0}}@keyframes il-beat-3{0%,61%{opacity:0}66%,94%{opacity:1}99%,to{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
