:root{--green: #15803d;--green-dark: #14532d;--text: #1e293b;--muted: #64748b;--border: #e2e8f0;--bg: #f1f5f9;--card: #ffffff;--done-bg: #fecaca;--done-row: #fca5a5}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}.top{background:var(--green);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:0;z-index:20}.top h1{font-size:18px;margin:0;font-weight:800}.top .sub{font-size:12px;opacity:.9}.top button.link,.top a{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.45);border-radius:8px;padding:8px 12px;text-decoration:none;font-weight:700;cursor:pointer;font-size:13px}.wrap{max-width:1100px;margin:0 auto;padding:20px 16px 64px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}h2{margin:0 0 8px;font-size:20px}p{color:var(--muted);line-height:1.5}label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:12px 0 6px}input,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;font:inherit}.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;align-items:center}.filters{display:grid;grid-template-columns:1.4fr repeat(3,minmax(100px,1fr)) auto;gap:10px;align-items:end}@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}}button,.btn{border:0;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer;font-size:14px;text-decoration:none;display:inline-block}.primary{background:var(--green);color:#fff}.secondary{background:#e2e8f0;color:#0f172a}.google{background:#fff;color:#1e293b;border:1px solid var(--border);font-weight:700}.error{color:#b91c1c;font-weight:600}.muted{color:var(--muted);font-size:13px}.stats{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 12px}.stat{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px 16px;min-width:140px}.stat .label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}.stat .value{font-size:18px;font-weight:800;margin-top:4px}.table-wrap{overflow:auto;max-height:calc(100vh - 280px);border:1px solid var(--border);border-radius:12px;background:#fff}table.cdb{width:100%;border-collapse:collapse;font-size:13px}table.cdb th{position:sticky;top:0;background:#f8fafc;z-index:2;text-align:left;padding:10px 8px;border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}table.cdb td{padding:8px;border-bottom:1px solid #f1f5f9;vertical-align:middle}table.cdb tr.done{background:var(--done-bg)}table.cdb tr.done:hover{background:var(--done-row)}table.cdb tr:not(.done):hover{background:#f8fafc}table.cdb .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.cdb .credit{background:#ecfdf5;color:#166534}table.cdb .debit{background:#fef2f2;color:#991b1b}table.cdb tr.done .credit{background:#bbf7d0}table.cdb tr.done .debit{background:#fecaca}table.cdb .ref{font-weight:700;width:64px}table.cdb .desc{min-width:180px}table.cdb .desc-credit{background:#ecfdf5;color:#166534;font-weight:600}table.cdb .desc-debit{background:#fef2f2;color:#991b1b;font-weight:600}table.cdb .desc-mixed{background:#fff7ed;color:#9a3412;font-weight:600}table.cdb tr.done .desc-credit{background:#bbf7d0}table.cdb tr.done .desc-debit{background:#fecaca}table.cdb .check{width:52px;text-align:center}table.cdb input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#b91c1c}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#fee2e2;color:#991b1b}.badge.open{background:#dcfce7;color:#166534}.hint{font-size:12px;color:var(--muted);margin-top:8px}
