*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial;background:#f6f8fb;color:#172033}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#0e1a30;color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:11px;align-items:center;margin-bottom:34px}.brand .logo{width:34px;height:34px;border-radius:9px;background:#fff;color:#153b82;font-weight:900;display:grid;place-items:center}.brand b{display:block;font-size:14px}.brand span{font-size:11px;color:#8fa2c2}nav a{display:block;color:#aebbd0;text-decoration:none;padding:11px 12px;border-radius:8px;margin:4px 0;font-size:14px}nav a.active,nav a:hover{background:#2563eb;color:#fff}.env{position:absolute;bottom:20px;color:#7f91ad;font-size:11px}main{padding:30px;min-width:0}.top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;gap:20px}.top h1{font-size:25px;margin:4px 0}.top p{margin:0;color:#718096;font-size:14px}.back{font-size:13px;color:#60708a;text-decoration:none}.cards{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:18px}.card,.panel{background:white;border:1px solid #e6eaf0;border-radius:12px;box-shadow:0 1px 2px rgba(20,30,55,.03)}.card{padding:18px}.card span{display:block;color:#7b8799;font-size:12px;margin-bottom:8px}.card strong{font-size:24px}.card.good strong{color:#159447}.card.danger strong{color:#d64545}.panel{padding:20px;margin-bottom:18px;overflow:auto}.panel h2{font-size:16px;margin:0 0 6px}.panel p{color:#758197;margin:0;font-size:13px}.upload{display:flex;align-items:center;justify-content:space-between;gap:24px}.upload form{display:flex;gap:10px;align-items:center}input[type=file]{padding:10px;background:#f8fafc;border:1px dashed #ccd5e3;border-radius:8px}button{border:0;background:#2563eb;color:white;padding:11px 16px;border-radius:8px;font-weight:700;cursor:pointer}button.secondary{background:#e9eef8;color:#24436f}button:disabled{opacity:.4;cursor:not-allowed}.actions{display:flex;gap:10px}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#7a8799;font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:10px;border-bottom:1px solid #e9edf3;white-space:nowrap}td{padding:11px 10px;border-bottom:1px solid #eef1f5;vertical-align:top;white-space:nowrap}.link{color:#2563eb;text-decoration:none;font-weight:700}.pill,.status{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;background:#eef2f7;color:#576579}.status.matched,.status.paid{background:#e6f7ed;color:#138a42}.status.discrepancy,.status.paid_discrepancy,.status.pdf_error,.status.crm_error{background:#fdeaea;color:#c73939}.status.not_found{background:#fff4db;color:#b36b00}.status.already_paid{background:#e8f1ff;color:#245aa8}.sub{display:block;color:#718096;margin-top:4px}.sub em{color:#cc3333;font-style:normal;margin-left:3px}.warn{display:block;max-width:230px;white-space:normal;color:#bb3f3f;margin-top:5px}.notice{padding:13px 15px;background:#fff8df;border:1px solid #f5df8d;border-radius:10px;margin-bottom:16px;font-size:13px}.wide{padding:0}.recon th,.recon td{padding:10px}.empty{text-align:center;color:#8a96a9;padding:30px}
@media(max-width:1000px){.shell{grid-template-columns:1fr}aside{display:none}.cards{grid-template-columns:repeat(2,1fr)}main{padding:16px}.upload,.top{align-items:flex-start;flex-direction:column}}
