:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#1d2939;background:#f5f6f8;font-synthesis:none;text-rendering:optimizeLegibility;--muted:#778394;--line:#e6e9ef;--blue:#2859d6;--navy:#172235;--panel:#fff}*{box-sizing:border-box}body{margin:0;min-width:320px}.sidebar{width:248px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:24px 15px 15px;z-index:2}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);padding:0 8px 29px}.brand-mark{height:38px;width:38px;border-radius:11px;background:#2859d6;color:white;display:grid;place-items:center;font-size:21px;font-weight:800}.brand b{display:block;font-size:18px;letter-spacing:.03em}.brand small,.sidebar-footer small{display:block;color:#8791a0;font-size:11px;margin-top:3px}.nav-caption,.eyebrow{font-size:10px;letter-spacing:.11em;font-weight:700;color:#98a1ae}.nav-caption{padding:0 10px 10px}.sidebar nav{display:grid;gap:4px}.nav-link{display:flex;align-items:center;padding:11px 12px;border-radius:8px;color:#596475;text-decoration:none;font-size:13px;font-weight:500}.nav-link:hover{background:#f5f7fb}.nav-link.active{background:#edf2ff;color:#2859d6;font-weight:700}.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding:14px 4px 2px;display:flex;align-items:center;gap:10px;font-size:12px}.avatar{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#e8edfa;color:#3455a2;font-size:11px;font-weight:700}.main{margin-left:248px;padding:0 40px 22px;max-width:1720px}.main-auth{margin:0;min-height:100vh;max-width:none;display:grid;place-items:center;padding:24px}.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar form{margin:0}.crumb{font-size:12px;color:#7d8795}.crumb span{padding:0 8px;color:#bac1ca}.button{border:1px solid transparent;border-radius:7px;padding:10px 15px;font:600 12px Arial,sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button-primary{background:var(--blue);color:#fff;box-shadow:0 2px 5px #2859d622}.button-primary:hover{background:#1f4bc0}.button-secondary{background:#edf2ff;color:#2859d6;border-color:#dce5fb}.button-quiet{background:#fff;border-color:var(--line);color:#5e6a7a;padding:8px 12px}.page-heading{display:flex;justify-content:space-between;align-items:center;padding:28px 0 22px}.page-heading .eyebrow{margin:0 0 8px;color:#63748e}.page-heading h1{font-size:24px;margin:0;letter-spacing:-.035em}.subtitle{margin:7px 0 0;color:#778291;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:15px}.metric-card,.panel{background:var(--panel);border:1px solid #e9ecf0;border-radius:10px;box-shadow:0 2px 6px #18223006}.metric-card{padding:16px 17px;min-height:110px}.metric-card span{display:block;color:#737e8d;font-size:11px}.metric-card strong{display:block;font-size:24px;margin:10px 0 2px;color:#202c3c}.metric-card small{font-size:10px;color:#9aa3af}.panel{padding:18px 19px;margin:14px 0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-heading h2{font-size:14px;margin:0;color:#243143}.panel-heading p{margin:5px 0 0;color:#8b95a2;font-size:10px}.link-button{font-size:10px;text-decoration:none;color:#315fc9;white-space:nowrap}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #e2e8f5;background:#f7f9fe;border-radius:20px;padding:7px 10px;color:#52657f;font-size:10px}.form-grid{display:grid;grid-template-columns:1.2fr 1.2fr 1fr auto;align-items:end;gap:10px;margin:15px 0}.form-grid label,.stack-form label{display:grid;gap:5px;font-size:10px;color:#667282;font-weight:600}.form-grid input,.form-grid select,.stack-form input{width:100%;height:36px;border:1px solid #e2e6ec;border-radius:6px;padding:0 9px;background:white;color:#354255;font:12px Arial,sans-serif}.form-grid input:focus,.form-grid select:focus,.stack-form input:focus{outline:0;border-color:#6484d7;box-shadow:0 0 0 2px #2859d615}.optional{font-weight:400;color:#9aa3af}.assignment-form{border-top:1px solid var(--line);padding-top:15px}.import-form{grid-template-columns:1fr 1fr 1fr 1fr 1.4fr auto}.file-input input{padding:7px;height:auto}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:7px}table{border-collapse:collapse;width:100%;font-size:11px}th,td{text-align:left;padding:10px 11px;border-bottom:1px solid #edf0f3;vertical-align:middle}th{background:#f7f8fa;color:#687587;font-weight:600;white-space:nowrap}td{color:#485567}td b{display:block;color:#394657}td small{display:block;margin-top:4px;color:#8994a2;font-size:9px}tbody tr:last-child td{border-bottom:0}td a{color:#315fc9;text-decoration:none}td a:hover{text-decoration:underline}.status{display:inline-block;border-radius:20px;padding:5px 8px;font-size:9px;background:#f2f4f7;color:#667085;white-space:nowrap}.status.review,.status.uploaded,.status.processing{background:#fff6e8;color:#9b6b20}.status.confirmed{background:#eaf8f1;color:#32845f}.status.failed,.status.reversed{background:#fef0f0;color:#a84444}.alert{padding:10px 12px;border-radius:7px;font-size:11px;margin:0 0 12px}.alert.error{color:#974344;background:#fff0f0;border:1px solid #f7d7d7}.alert.success{color:#267451;background:#edf8f2;border:1px solid #d4eee0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:130px;color:#8b95a2;text-align:center}.empty-state b{font-size:11px;color:#566273}.empty-state span{font-size:10px}.login-card{width:min(100%,390px);background:white;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 14px 38px #17223514}.login-brand{padding:0 0 24px}.login-card h1{font-size:20px;margin:0}.login-card>.muted{font-size:12px;margin:7px 0 18px}.stack-form{display:grid;gap:13px}.stack-form input{height:40px}.stack-form .button{margin-top:3px;height:40px}.muted{color:#8792a0}footer{padding:20px 2px 5px;color:#86909d;font-size:10px}footer span{margin-left:10px;color:#a0a8b3}@media(max-width:1100px){.main{padding:0 24px 20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-form{grid-template-columns:1fr 1fr}}@media(max-width:700px){.sidebar{width:118px;padding:18px 8px}.brand{padding:0 4px 24px}.brand>span:last-child,.nav-caption{display:none}.nav-link{padding:10px 5px;font-size:10px;line-height:1.25;overflow-wrap:anywhere}.main{margin-left:118px;padding:0 13px 18px}.topbar{height:54px}.page-heading{align-items:flex-start;gap:12px;flex-direction:column;padding:21px 0}.metric-grid{gap:8px}.metric-card{padding:12px;min-height:100px}.metric-card strong{font-size:20px}.panel{padding:14px}.form-grid,.import-form{grid-template-columns:1fr}.form-grid>.button{width:100%}.assignment-form{margin-top:16px}.main-auth{margin:0;padding:16px}.login-card{padding:22px}footer span{display:block;margin:5px 0 0}}

.metric-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:4px}.metric-card strong.small-metric{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.totals-grid>div{padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fafbfd}.totals-grid span{display:block;color:#818b99;font-size:10px;text-transform:capitalize}.totals-grid b{display:block;margin-top:5px;color:#253247;font-size:13px}.warning-list{margin:0;padding-left:20px;color:#795c24;font-size:11px;line-height:1.7}.confirm-box{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 2px 0}.check-label{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#5f6d7e;line-height:1.5}.check-label input{margin-top:2px;accent-color:var(--blue)}
@media(max-width:700px){.metric-grid.compact{grid-template-columns:1fr}.confirm-box{align-items:stretch;flex-direction:column}.confirm-box .button{width:100%}}
.trend-row{display:grid;grid-template-columns:90px minmax(80px,1fr) 145px;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #eef0f4;font-size:11px;color:#667282}.trend-row:last-child{border-bottom:0}.trend-track{height:9px;border-radius:10px;background:#eef1f6;overflow:hidden}.trend-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5678dc,#2859d6)}.trend-row b{text-align:right;color:#26344a;font-size:11px}.filter-form{grid-template-columns:1.4fr 1fr 1fr auto;margin:0}.filter-form .button{height:36px}.report-note{font-size:11px;margin:0}
@media(max-width:700px){.filter-form{grid-template-columns:1fr}.trend-row{grid-template-columns:62px minmax(50px,1fr) 105px;gap:7px;font-size:10px}.trend-row b{font-size:10px}}
.mapping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mapping-grid label,.form-grid label{display:grid;gap:5px;font-size:10px;color:#667282;font-weight:600}.mapping-grid select{height:36px;border:1px solid #e2e6ec;border-radius:6px;padding:0 9px;background:white;color:#354255;font:12px Arial,sans-serif}.mapping-grid .button{align-self:end;height:36px}.mapping-grid+.form-grid{margin-top:10px}
@media(max-width:700px){.mapping-grid{grid-template-columns:1fr}}
.admin-create-form{grid-template-columns:repeat(4,minmax(0,1fr))}.company-access-set{grid-column:1/-1;border:1px solid var(--line);border-radius:7px;padding:12px;display:flex;gap:9px;flex-wrap:wrap}.company-access-set legend{padding:0 6px;color:#667282;font-size:10px;font-weight:600}.company-check{display:inline-flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:6px!important;border:1px solid #e7eaf0;border-radius:18px;padding:6px 9px;background:#fafbfd;font-size:10px!important;font-weight:500!important}.company-check input,.active-check input{accent-color:var(--blue)}.admin-user-list{display:grid;gap:9px}.admin-user-row{display:grid;grid-template-columns:1.4fr .7fr auto minmax(220px,1.5fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:8px}.user-identity b,.user-identity small{display:block}.user-identity b{font-size:12px;color:#354255}.user-identity small{font-size:10px;color:#8994a2;margin-top:4px}.admin-user-row select{height:34px;border:1px solid #e2e6ec;border-radius:6px;background:#fff;padding:0 7px}.active-check{font-size:10px;color:#667282;white-space:nowrap}.user-company-access>span{display:block;font-size:10px;color:#768191;margin-bottom:6px}.user-company-access>div{display:flex;gap:5px;flex-wrap:wrap}.user-company-access>div>small{color:#8a94a2;font-size:10px}.admin-user-row .company-check{padding:4px 7px}.admin-user-row .button:disabled{opacity:.45;cursor:not-allowed}details summary{cursor:pointer;color:#315fc9;font-size:10px}details pre{max-width:420px;max-height:260px;overflow:auto;white-space:pre-wrap;background:#f7f8fa;border:1px solid var(--line);border-radius:6px;padding:9px;font-size:9px;color:#536073}
@media(max-width:1000px){.admin-user-row{grid-template-columns:1fr 1fr}.user-company-access{grid-column:1/-1}.admin-create-form{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.admin-user-row,.admin-create-form{grid-template-columns:1fr}.company-access-set{grid-column:auto}.user-company-access{grid-column:auto}}
.button-danger{background:#fff0f0;color:#a84444;border-color:#f4d1d1}.reversal-box{display:grid;gap:12px;margin-top:15px;padding:14px;border:1px solid #f0dada;background:#fffafa;border-radius:8px}.reversal-box>label:not(.check-label){display:grid;gap:5px;font-size:10px;color:#667282;font-weight:600}.reversal-box textarea{resize:vertical;width:100%;border:1px solid #e2e6ec;border-radius:6px;padding:9px;font:12px Arial,sans-serif}.reversal-box p{margin:0;color:#795c24;font-size:11px}.reversal-box .button{justify-self:start}
.admin-user-row{grid-template-columns:1.3fr .65fr .9fr auto minmax(200px,1.3fr) auto;gap:10px}.admin-user-row input[type=password]{height:34px;width:100%;border:1px solid #e2e6ec;border-radius:6px;padding:0 7px}
.row-edit{min-width:250px;white-space:normal}.row-edit summary{cursor:pointer;color:#315fc9;font-size:10px}.row-edit form{display:grid;gap:8px;min-width:min(420px,70vw);padding:9px 0}.row-edit p{margin:0;color:#788392;font-size:10px;line-height:1.5}.row-edit code{font-size:9px}.row-edit textarea{width:100%;resize:vertical;border:1px solid #e2e6ec;border-radius:6px;padding:8px;font:11px ui-monospace,Consolas,monospace}.row-edit .button{justify-self:start}.source-value{max-width:320px;white-space:normal;overflow-wrap:anywhere}.ocr-reprocess{display:grid;justify-items:start;gap:10px;margin:0 0 16px;padding:14px 16px;border:1px solid #e8ebef;border-radius:8px;background:#fff}.ocr-reprocess p{margin:0;color:#788392;font-size:11px}.export-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.export-actions .button{font-size:10px;padding:8px 11px}.lead-activity{min-width:230px;white-space:normal}.lead-activity summary{cursor:pointer;color:#315fc9}.lead-activity p{max-width:420px;margin:7px 0;color:#687587;font-size:10px;line-height:1.5}.lead-activity form{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:min(440px,75vw);padding:9px 0}.lead-activity label{display:grid;gap:4px;color:#667282;font-size:10px}.lead-activity input,.lead-activity select,.lead-activity textarea{width:100%;border:1px solid #e2e6ec;border-radius:5px;padding:7px;background:#fff;font:11px Arial,sans-serif}.lead-activity textarea{resize:vertical}.lead-activity label:nth-of-type(3){grid-column:1/-1}.lead-activity button{justify-self:start}.lead-contact{margin-top:9px}.lead-contact b,.lead-contact small{display:block}.lead-activity form button{grid-column:1/-1}
@media(max-width:900px){.lead-activity form{grid-template-columns:1fr}.lead-activity label:nth-of-type(3),.lead-activity form button{grid-column:auto}.export-actions .button{flex:1 1 160px}}
.filter-form{grid-template-columns:1.2fr 1fr 1.1fr 1fr 1fr auto}
@media(max-width:950px){.filter-form{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.filter-form{grid-template-columns:1fr}}

.page-actions{display:flex;gap:8px;flex-wrap:wrap}.page-actions .button{font-size:10px}@media(max-width:700px){.page-actions{width:100%}.page-actions .button{flex:1}}
.lead-conversion{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:min(440px,75vw);margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.lead-conversion>b{grid-column:1/-1;color:#394657;font-size:10px}.lead-conversion label{display:grid;gap:4px;color:#667282;font-size:10px}.lead-conversion input,.lead-conversion select{width:100%;border:1px solid #e2e6ec;border-radius:5px;padding:7px;background:#fff;font:11px Arial,sans-serif}.lead-conversion .button{grid-column:1/-1;justify-self:start}.converted-label{color:#32845f;font-size:10px}@media(max-width:900px){.lead-conversion{grid-template-columns:1fr;min-width:0}.lead-conversion>b,.lead-conversion .button{grid-column:auto}}
.form-grid select[multiple]{height:auto;min-height:110px;padding:6px}.form-grid select[multiple] option{padding:4px}
.row-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.row-edit-grid label{display:grid;gap:4px;color:#667282;font-size:10px;font-weight:600}.row-edit-grid input{width:100%;height:34px;min-width:0;border:1px solid #e2e6ec;border-radius:5px;padding:0 8px;background:#fff;color:#354255;font:11px Arial,sans-serif}.row-edit-grid input:focus{outline:0;border-color:#6484d7;box-shadow:0 0 0 2px #2859d615}
.report-note{margin:10px 0 0;color:#778394;font-size:10px;line-height:1.5}
@media(max-width:700px){.row-edit-grid{grid-template-columns:1fr}}

.visual-mapper{margin:18px 0}.visual-mapper .table-wrap{max-height:480px;overflow:auto}.visual-mapper td button,.visual-mapper th button{background:transparent;border:1px solid transparent;color:inherit;text-align:left;padding:8px;cursor:pointer;white-space:nowrap}.visual-mapper button:hover{background:#eaf0ff;border-color:#2858d9}#mapping-dialog{max-width:540px;width:90%;border:1px solid #d9dfeb;border-radius:14px;padding:24px}#mapping-dialog::backdrop{background:#17223880}#mapping-dialog label{display:block;margin:16px 0}#mapping-dialog input,#mapping-dialog select{width:100%}

/* Visual report mapping */
.visual-mapper { min-width: 0; }
.mapping-table { max-height: 32rem; overflow: auto; margin-top: 1rem; }
.mapping-table th { position: sticky; top: 0; background: #eef4fa; z-index: 1; }
.mapping-table button { border: 1px solid transparent; background: transparent; color: inherit; text-align: left; padding: .4rem; cursor: pointer; }
.mapping-table button:hover, .mapping-table button:focus-visible { background: #e0f2fe; border-color: #2563eb; }
.document-preview { max-height: 42rem; overflow: auto; background: #e8edf3; padding: 1rem; }
.document-page { margin: 0 auto 1rem; max-width: 1000px; }
.document-surface { position: relative; }
.document-surface img { display: block; width: 100%; }
.document-surface svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.document-surface rect { fill: transparent; stroke: #2563eb; stroke-width: .5; cursor: pointer; }
.document-surface rect:hover, .document-surface rect:focus { fill: #2563eb33; stroke-width: 2; outline: none; }
#mapping-dialog { width: min(38rem, 94vw); max-height: 90vh; overflow: auto; border: 1px solid #cbd5e1; border-radius: 12px; padding: 1.5rem; }
#mapping-dialog::backdrop { background: #0f172a88; }
#mapping-dialog label { display: grid; gap: .35rem; margin: .7rem 0; }
#mapping-dialog button { padding: .7rem 1rem; cursor: pointer; }
#mapping-dialog [hidden] { display: none; }
#mapping-examples { max-height: 10rem; overflow: auto; }
.mapping-error { color: #b91c1c; }
