:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17212b;background:#f4f7f9;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer}.shell{max-width:1500px;margin:0 auto;padding:28px}.shell.auth{max-width:620px;padding-top:12vh}header{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}h1{margin:4px 0;font-size:34px;letter-spacing:-1px}h2{margin:0 0 10px}h3{margin:20px 0 8px}p{color:#5e6d79}.eyebrow{color:#13795b;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.cap{background:#fff;border:1px solid #dce5e9;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:8px;color:#52616c;font-size:13px;box-shadow:0 4px 15px #14283c0a}.dot{width:8px;height:8px;border-radius:50%;background:#d45757;margin-left:8px}.dot.ok{background:#24a36a}nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}nav button{border:0;border-radius:10px;padding:13px;background:#e7edf0;color:#64727c;display:flex;gap:9px;justify-content:center}nav button b{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#cad5da}nav button.active{background:#173f5f;color:#fff}nav button.active b{background:#2c9c79}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.card{background:#fff;border:1px solid #dce5e9;border-radius:14px;padding:22px;box-shadow:0 5px 20px #14283c0d}.wide{grid-column:1 / -1}.drop{border:2px dashed #b8c7ce;border-radius:12px;padding:30px;display:grid;place-items:center;text-align:center;gap:7px;margin:18px 0;background:#f8fafb}.drop input{max-width:250px}.drop span{font-weight:700}.drop small,.muted,td small,.batch-list small{color:#798792;display:block}button{border:1px solid #bdcbd1;background:#fff;padding:9px 13px;border-radius:8px;color:#294251}button:hover:not(:disabled){border-color:#2c9c79}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#16775b;border-color:#16775b;color:#fff}.danger{color:#a82f38;border-color:#d9a2a6}.mapping{margin-top:18px;display:grid;gap:12px}.mapping label,.card>label{display:grid;gap:6px;font-size:13px;font-weight:700;margin:10px 0}select,input[type=email]{width:100%;border:1px solid #bdcbd1;border-radius:8px;padding:9px;background:#fff}.alert{border:1px solid #9fc9bd;background:#ecf8f4;color:#21664f;padding:12px 15px;border-radius:9px;margin:12px 0 18px}.alert.warning{background:#fff8e8;color:#815f13;border-color:#e7cf8c}.alert.error{background:#fff0f1;color:#942f37;border-color:#e4adb1}.batch-list{display:grid;gap:8px}.batch-list>button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:13px}.status{font-style:normal;font-size:11px;font-weight:800;white-space:nowrap;padding:5px 8px;border-radius:99px;background:#eef2f4;color:#65737c}.status.exact-match,.status.matched,.status.ready,.status.completed{background:#e2f5ed;color:#14704f}.status.needs-review,.status.awaiting-review{background:#fff1c9;color:#7c5b00}.status.not-found,.status.invalid,.status.failed,.status.partially-failed{background:#fde8e8;color:#9b3038}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.actions,.row-actions{display:flex;gap:8px;flex-wrap:wrap}.table-wrap{overflow:auto;margin-top:14px;max-height:62vh}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}th{position:sticky;top:0;background:#edf2f4;text-align:left;z-index:1}th,td{border-bottom:1px solid #e5ecef;padding:11px;vertical-align:top;min-width:100px}td select{min-width:210px;margin:8px 0}.row-actions button{font-size:11px;padding:5px 8px}.safeguards{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.safeguards span{background:#eef7f3;color:#217259;border-radius:99px;padding:7px 10px;font-size:12px}@media(max-width:900px){.grid.two{grid-template-columns:1fr}.wide{grid-column:auto}header{display:block}.cap{margin-top:14px;flex-wrap:wrap}nav{grid-template-columns:1fr 1fr}.shell{padding:16px}.section-head{display:block}.actions{margin:12px 0}}
