:root { --ink:#101828; --muted:#475467; --paper:#f8faff; --warm:#eef4ff; --accent:#7c3aed; --accent-dark:#5b21b6; --moss:#0f766e; --line:rgba(16,24,40,.14); --card:#ffffff; --shadow:0 22px 56px rgba(43, 67, 117, .16); }
*{box-sizing:border-box} body{margin:0;font-family:Manrope,sans-serif;background:radial-gradient(circle at 15% 10%, #dbeafe 0%, #eef2ff 32%, #f5f3ff 58%, #fdf4ff 100%);color:var(--ink)} h1,h2{font-family:Fraunces,serif;margin:0}
.accounting-shell{padding:36px clamp(16px,5vw,72px);display:flex;flex-direction:column;gap:22px}
.topbar,.section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.kicker{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)} .subtitle{margin:8px 0 0;color:var(--muted)}
.topbar-actions{display:flex;gap:8px}.ghost-btn,.primary-btn{border-radius:999px;padding:9px 14px;font-weight:600;cursor:pointer}
.ghost-btn{border:1px solid #c7d7fe;background:#fff;color:var(--ink);text-decoration:none}.primary-btn{border:0;background:linear-gradient(135deg,#7c3aed 0%, #2563eb 100%);color:#fff}
.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.summary-card,.invoices-section,.ledger-section,.recon-section{background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.metric-row{display:flex;justify-content:space-between;margin-top:10px;font-weight:600}.metric-row span{color:var(--accent-dark)}
.entry-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0}
.entry-form input,.entry-form select,.section-head input{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.ledger-table,.recon-list,.invoice-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ledger-row,.recon-row,.invoice-row{display:grid;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;align-items:center}
.ledger-row{grid-template-columns:100px 1.5fr 1fr 1fr 100px}
.invoice-row{grid-template-columns:110px 1fr 100px 100px 100px 100px 110px}
.ledger-row:last-child,.recon-row:last-child,.invoice-row:last-child{border-bottom:none}
.ledger-head,.recon-head,.invoice-head{background:linear-gradient(90deg,#e0e7ff 0%, #dbeafe 100%);font-weight:700}
.amount{text-align:right;font-weight:600;color:var(--accent-dark)}
.pill{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}
.pill-paid{background:rgba(15,118,110,.16);color:#0f766e}
.pill-open{background:rgba(124,58,237,.16);color:#5b21b6}
.pill-overdue{background:rgba(220,38,38,.14);color:#b42318}
.recon-kpis{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.status-pill{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:#fff}
.recon-row{grid-template-columns:28px 100px 1fr 100px} #recon-diff-pill.is-balanced{background:var(--moss);color:#fff} #recon-diff-pill.is-off{background:#b42318;color:#fff}
@media (max-width: 1100px){.invoice-row{grid-template-columns:1fr}}
@media (max-width: 900px){.topbar,.section-head{flex-direction:column}.ledger-row{grid-template-columns:1fr}}


.close-section{background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.close-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:8px}
.close-grid label{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.close-grid input[type='checkbox']{accent-color:var(--accent)}

.recurring-section{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.recurring-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}
.recurring-list{margin-top:10px}

.insights-section{background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.insights-list{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;color:var(--muted)}
.insights-list li{line-height:1.5}


.bank-section{background:linear-gradient(180deg,#ffffff 0%, #fbfdff 100%);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.bank-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}
.bank-row{display:grid;grid-template-columns:120px 1.6fr 110px 1fr 100px;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px;align-items:center}
.bank-row:last-child{border-bottom:none}
.bank-head{background:linear-gradient(90deg,#e0e7ff 0%, #dbeafe 100%);font-weight:700}
.bank-match-pill{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700}
.bank-match-yes{background:rgba(15,118,110,.16);color:#0f766e}
.bank-match-no{background:rgba(220,38,38,.14);color:#b42318}
.conf-high{color:#0f766e;font-weight:700}.conf-med{color:#5b21b6;font-weight:700}.conf-low{color:#b42318;font-weight:700}
@media (max-width: 1100px){.bank-row{grid-template-columns:1fr}}

#ledger-search{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);min-width:180px}


.accounting-subnav{display:flex;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.7);backdrop-filter:blur(6px);padding:10px 12px;border:1px solid var(--line);border-radius:12px}
.accounting-subnav a{padding:8px 12px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:600;background:#fff}
.section-hidden{display:none !important}
