:root{--ink:#18233a;--muted:#68758a;--line:#e4e8ef;--paper:#fff;--bg:#f5f7fa;--nav:#152139;--accent:#6554dc;--accent-soft:#f0edff;--green:#14785d;--green-bg:#eaf7f0;--amber:#976213;--amber-bg:#fff5df;--red:#ae4f54;--red-bg:#fff0f0;--shadow:0 5px 22px #16243b05;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b6acf7;outline-offset:3px}button{transition:background .15s,box-shadow .15s,transform .15s}a{color:var(--accent)}svg{display:block}.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--nav);color:#d1daec;padding:30px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:19px;font-weight:700;letter-spacing:-.5px}.brand-symbol{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#93e2bf;color:#173b32}.brand small{display:block;color:#8c9db8;font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;margin-top:5px}.sidebar-label{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#8c9db8;margin:47px 12px 13px}.nav-step{width:100%;display:flex;align-items:center;gap:12px;border:0;text-align:left;color:#a7b7cf;background:transparent;border-radius:8px;padding:13px 12px;margin-bottom:5px;font-size:13px;font-weight:500}.nav-step:hover{background:#1e2d48;color:#fff}.nav-step.active{background:#253450;color:#fff}.nav-number{width:24px;height:24px;display:grid;place-items:center;border:1px solid #45536d;border-radius:7px;font-size:11px}.nav-step.active .nav-number{border-color:#8bbfa9;background:#8bbfa926;color:#b1edce}.sidebar-note{margin-top:32px;border-top:1px solid #30405c;padding:23px 12px;font-size:12px;line-height:1.7;color:#95a6c0}.sidebar-note strong{color:#d6e0ef;display:block;font-size:12px;margin-bottom:7px}.sidebar-bottom{margin-top:auto;padding:18px 12px 0}.local-dot{width:7px;height:7px;border-radius:50%;background:#86dcaf;display:inline-block;margin-right:7px}.sidebar-bottom p{font-size:11px;line-height:1.6;color:#8c9db8;margin:7px 0}.local-label{color:#bfe5ce;font-size:12px}.main{max-width:1536px;width:100%;padding:31px 45px 38px;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);margin-bottom:37px}.breadcrumb span{color:#bbc2cd;margin:0 10px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.3;padding:7px 10px;border-radius:6px;font-weight:600;background:var(--accent-soft);color:var(--accent)}.badge.local{background:#eaf4ee;color:#527864}.badge.local .local-dot{background:#4d9471;width:6px;height:6px;margin-right:0}.hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:29px}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:1.8px;font-weight:750;margin:0 0 11px;text-transform:uppercase}h1{font-size:35px;line-height:1.2;letter-spacing:-1.2px;margin:0 0 11px;font-weight:700}.hero p{max-width:650px;font-size:13px;line-height:1.8;color:var(--muted);margin:0}.sample-note{display:flex;align-items:center;gap:7px;color:#8775bb;font-size:11px;padding-top:8px;white-space:nowrap}.sample-note::before{content:"";width:5px;height:5px;background:#9a87cf;border-radius:50%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 19px 16px;box-shadow:var(--shadow)}.metric-label{font-size:11px;font-weight:650;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-icon{width:26px;height:26px;border-radius:8px;background:#f4f6f9;display:grid;place-items:center;color:#8290a2}.metric strong{font-size:31px;font-weight:650;letter-spacing:-1px;display:block;margin:6px 0 6px}.metric .metric-description{font-size:10px;color:#8b95a7;margin:0;line-height:1.5}.metric.ready strong{color:var(--green)}.metric.review strong{color:var(--amber)}.card{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);min-width:0}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:21px 23px 0}.card-head h2,.results-head h2{font-size:15px;font-weight:650;margin:0;letter-spacing:-.2px}.step-caption{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:550;color:var(--muted)}.step-caption span{border:1px solid #dce1e9;border-radius:5px;padding:3px 5px}.card-body{padding:19px 23px 22px}.dropzone{border:1.5px dashed #d6dce8;border-radius:9px;padding:22px 16px;display:flex;align-items:center;gap:16px;background:#fcfcfe;position:relative;min-height:100px}.dropzone.drag-over{border-color:var(--accent);background:var(--accent-soft)}.upload-icon{width:46px;height:46px;border:1px solid #e4e1f1;background:#f4f2fc;border-radius:12px;color:#8677c7;display:grid;place-items:center;flex-shrink:0}.dropzone strong{font-size:12px;display:block;line-height:1.6}.dropzone p{font-size:10px;line-height:1.7;color:var(--muted);margin:3px 0 0}.dropzone button{margin-left:auto;flex-shrink:0}.btn{border:1px solid #dce1eb;border-radius:7px;padding:9px 12px;font-size:11px;font-weight:650;background:#fff;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.btn:hover:not(:disabled){background:#f5f6fa;border-color:#c9cfdc}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 3px 5px #6554dc18}.btn.primary:hover:not(:disabled){background:#5744ce}.btn.subtle{border:0;background:transparent;color:var(--muted);padding:6px 0}.btn.subtle:hover{color:var(--accent);background:transparent}.btn.mint{background:#eef8f2;color:#246f52;border-color:#deeee5}.import-meta{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:13px}.select-inline{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.select-inline select{font-size:10px;padding:5px 20px 5px 7px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:#fff}.sample-actions{display:flex;align-items:center;gap:12px}.sample-actions button{font-size:10px;color:var(--accent)}.file-summary{margin-top:15px;padding-top:13px;border-top:1px solid #eff1f5;display:flex;align-items:flex-start;gap:9px;font-size:11px;color:var(--muted);min-height:41px;line-height:1.5}.file-summary svg{flex-shrink:0;color:#98a4b5;margin-top:2px}.file-summary strong{color:#4f5d75;font-weight:600}.file-summary small{display:block;font-size:10px;margin-top:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px}.field{display:flex;flex-direction:column;gap:6px;font-size:10px;color:var(--muted);font-weight:550}.field input,.field select{min-width:0;width:100%;border:1px solid #dce1e9;border-radius:6px;height:35px;padding:7px 9px;background:#fff;color:#27324a;font-size:11px;font-weight:400}.field select{padding-right:20px}.rule-note{font-size:10px;color:#8590a2;line-height:1.7;margin:13px 0 0}.config-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:15px}.config-footer p{margin:0;font-size:10px;color:var(--muted);line-height:1.6}.mapping{margin-bottom:21px;padding:0}.mapping>summary{list-style:none;padding:17px 23px;cursor:pointer;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:650}.mapping>summary::-webkit-details-marker{display:none}.mapping .chevron{margin-left:auto;transition:transform .2s;color:#7e8a9d}.mapping[open] .chevron{transform:rotate(180deg)}.mapping-subtitle{font-size:10px;color:var(--muted);font-weight:400;margin-left:5px}.mapping-body{border-top:1px solid #eef0f5;padding:19px 23px 21px}.mapping-body>p{font-size:11px;color:var(--muted);margin:0 0 17px;line-height:1.7}.mapping-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.mapping-field small{font-size:9px;font-weight:400;line-height:1.5;color:#98a1af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:14px;display:block}.message{padding:12px 16px;margin:0 0 18px;background:#fff8e9;border:1px solid #eee0bd;border-radius:8px;display:none;font-size:11px;color:#8e6a23;line-height:1.6}.message.visible{display:flex;gap:10px;align-items:flex-start}.message.error{background:var(--red-bg);border-color:#f2d4d4;color:#aa4a4f}.message.success{background:#edf7f0;border-color:#d7eadd;color:#427054}.message svg{flex-shrink:0;margin-top:1px}.results-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:23px 23px 18px}.results-head p{font-size:10px;color:var(--muted);margin:6px 0 0;line-height:1.6}.export-actions{display:flex;gap:8px;align-items:center}.results-toolbar{padding:0 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.tabs{display:flex;align-items:center;gap:23px;align-self:stretch}.tab{font-size:11px;color:var(--muted);font-weight:600;padding:13px 0 14px;border:0;border-bottom:2px solid transparent;background:transparent;display:flex;gap:7px;align-items:center;white-space:nowrap}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{font-size:9px;border-radius:4px;background:#eff2f6;padding:2px 5px;color:#7e8a9d;font-weight:600}.tab.active .tab-count{background:var(--accent-soft);color:var(--accent)}.search{position:relative;display:flex;align-items:center;gap:7px;border:1px solid #e4e8f0;border-radius:6px;padding:6px 9px;min-width:180px;width:210px;color:#929dad;background:#fff}.search input{border:0;outline:0;width:100%;font-size:10px;min-width:0;color:var(--ink);background:transparent}.search:focus-within{outline:2px solid #c4bbfa;outline-offset:1px}.search input:focus-visible{outline:0}.view-note{font-size:10px;color:#8b95a7;padding:12px 23px;background:#fafbfd;border-bottom:1px solid #eef0f4;line-height:1.65}.view-note strong{font-weight:600;color:#5b677f}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;min-width:760px;font-size:11px}th{font-size:9px;letter-spacing:.5px;text-transform:uppercase;background:#fafbfd;color:#8b95a7;font-weight:650;padding:13px 21px;border-bottom:1px solid #eef0f4;white-space:nowrap}td{padding:16px 21px;border-bottom:1px solid #eef0f4;vertical-align:top;line-height:1.6}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfcfe}.contact-cell{display:flex;gap:10px;align-items:flex-start;min-width:175px}.avatar{width:29px;height:29px;background:#f1eff9;color:#897aba;border-radius:8px;display:grid;place-items:center;font-weight:650;font-size:9px;flex-shrink:0;margin-top:1px}.contact-name{font-weight:650;color:#39465f;font-size:11px}.contact-detail{font-size:10px;color:#8b95a7;overflow-wrap:anywhere}.pill{border-radius:5px;display:inline-block;padding:3px 7px;font-size:9px;font-weight:600;white-space:nowrap;background:#f0f3f7;color:#7a879d}.pill.new{background:#edf1fe;color:#6a75be}.pill.contacted{background:#f0edfc;color:#8b73bb}.pill.replied{background:#fff5e6;color:#aa843e}.pill.won{background:var(--green-bg);color:var(--green)}.pill.lost{background:#f2f3f5;color:#7c8491}.pill.do_not_contact{background:#fff0f0;color:#b16b70}.queue-date{font-size:11px;font-weight:600;color:#465570}.priority{font-size:9px;color:#959cab;margin-top:3px}.priority.overdue{color:#bc7b3d}.priority.today{color:var(--green)}.suggested-action{font-size:10px;color:#8b95a7;max-width:170px;margin-top:4px}.source-line{font-size:10px;color:#929cad;white-space:nowrap}.row-details{margin-top:5px;font-size:10px}.row-details summary{color:#8473bc;cursor:pointer}.row-details .detail-body{margin-top:8px;padding:10px 12px;border:1px solid #edeaf5;background:#faf9fe;border-radius:6px;color:#75748b;max-width:320px;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.row-details .detail-body p{margin:0 0 5px;white-space:normal}.row-details .detail-body p:last-child{margin-bottom:0}.issues{max-width:420px;color:#996732;font-size:10px;line-height:1.8}.review-type{display:block;margin-bottom:5px}.review-type.invalid{color:#b96569}.review-type.duplicate{color:#9b8abb}.original-fields{max-width:340px;color:#7e8b9f;font-size:10px}.original-fields summary{cursor:pointer;color:#8775b7}.original-fields dl{margin:8px 0 0;padding:10px;background:#f9f8fd;border-radius:5px}.original-fields dt{font-size:9px;font-weight:650;color:#a0a8b7;overflow-wrap:anywhere}.original-fields dd{margin:1px 0 7px;white-space:pre-wrap;overflow-wrap:anywhere}.empty-state{text-align:center;padding:46px 24px;color:#9aa3b1}.empty-state svg{margin:0 auto 13px;color:#b6beca}.empty-state strong{display:block;font-size:13px;color:#66758b;font-weight:600;margin-bottom:7px}.empty-state p{font-size:11px;line-height:1.7;margin:0 auto;max-width:360px}.table-footer{padding:13px 23px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:10px;color:#949eae;min-height:52px}.pagination{display:flex;align-items:center;gap:11px}.pagination button{border:1px solid #e4e8ef;border-radius:5px;display:grid;place-items:center;background:#fff;color:#7e8a9d;padding:5px}.pagination button:hover:not(:disabled){background:#f4f5f8}.footer-notes{display:flex;justify-content:space-between;gap:20px;margin-top:19px;font-size:10px;color:#959ead;line-height:1.8}.footer-notes p{margin:0;max-width:700px}.footer-notes button{white-space:nowrap;align-self:flex-start;font-size:10px}.screen-reader{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dirty .results-head{background:#fffaf0;border-radius:12px 12px 0 0}.stale-label{color:#a5792a!important}.source-truncated{overflow-wrap:anywhere}.flash{animation:flash .7s ease}@keyframes flash{from{box-shadow:0 0 0 3px #cdc5fb}to{box-shadow:var(--shadow)}}
@media(min-width:1600px){.main{padding-left:58px;padding-right:58px}.hero h1{font-size:40px}.metrics{gap:20px}}
@media(max-width:1250px){.shell{grid-template-columns:208px minmax(0,1fr)}.sidebar{padding:26px 15px}.main{padding:29px 28px}.dropzone{padding:18px 12px;gap:11px;flex-wrap:wrap}.dropzone button{margin-left:57px}.dropzone .upload-icon{width:42px;height:42px}.results-toolbar{align-items:flex-start;flex-direction:column;gap:0}.search{margin-bottom:13px;width:100%;max-width:300px}.tabs{gap:25px}.mapping-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{flex-direction:column;gap:5px}.sample-note{padding-top:0}h1{font-size:33px}.export-actions .btn{font-size:10px;padding:8px 9px}}
@media(max-width:960px){.shell{grid-template-columns:1fr}.sidebar{height:auto;position:static;padding:18px 25px;display:flex;flex-direction:row;align-items:center;gap:15px}.brand{font-size:18px}.brand small{display:none}.sidebar-label,.sidebar-note,.sidebar-bottom,.nav-number{display:none}.sidebar-nav{margin-left:auto;display:flex;gap:3px}.nav-step{width:auto;padding:9px 10px;margin:0;font-size:11px}.main{padding:28px}.topbar{margin-bottom:29px}.dropzone button{margin-left:0}.input-grid{grid-template-columns:1fr 1fr}.metric{padding:15px}.metric-description{min-height:28px}.hero h1{font-size:34px}.export-actions{flex-wrap:wrap}.results-head{align-items:flex-start}.mapping-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.main{padding:24px 16px}.sidebar{padding:16px}.sidebar-nav .nav-step:first-child,.sidebar-nav .nav-step:nth-child(2){display:none}.topbar{font-size:11px;gap:8px;margin-bottom:25px}.breadcrumb span{margin:0 5px}.badge{padding:6px 7px;font-size:9px}.hero h1{font-size:29px;letter-spacing:-.8px;max-width:420px}.hero p{font-size:12px}.metrics{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:17px}.metric{padding:13px 14px}.metric strong{font-size:28px}.metric-description{min-height:0}.input-grid{grid-template-columns:1fr;gap:16px;margin-bottom:16px}.card-head{padding:18px 18px 0}.card-body{padding:16px 18px 18px}.dropzone{flex-wrap:nowrap;padding:17px 12px}.dropzone strong{font-size:11px}.dropzone button{margin-left:auto;padding:8px}.upload-icon{width:38px!important;height:38px!important}.mapping>summary{padding:16px 18px}.mapping-subtitle{display:none}.mapping-fields{grid-template-columns:1fr 1fr}.mapping-body{padding:17px 18px}.results-head{padding:19px 18px 15px;flex-direction:column;gap:12px}.export-actions{width:100%;gap:6px}.export-actions .btn{flex:1;padding:9px 6px;font-size:9px;gap:5px}.export-actions svg{width:12px;height:12px}.results-toolbar{padding:0 18px}.tabs{gap:17px;width:100%;justify-content:space-between}.tab{font-size:10px;gap:5px}.search{max-width:none}.view-note{padding:11px 18px;font-size:9px}.footer-notes{flex-direction:column;gap:8px}.footer-notes p{font-size:9px}.table-footer{padding:13px 18px}.file-summary{font-size:10px}.rule-note{font-size:9px}.sample-actions{gap:9px}.sample-actions button{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.input-grid,.mapping,.export-actions,.search,.pagination,.footer-notes button,.message{display:none!important}.shell{display:block}.main{padding:15px}.topbar{margin-bottom:15px}.hero{margin-bottom:18px}body{background:#fff}.card,.metric{box-shadow:none}.table-scroll{overflow:visible}table{min-width:0}.results-toolbar{display:none}td,th{padding:10px}.table-footer{display:none}}
