/* AfriCars 10.5.4: accessible, scoped verification and deliverability workspaces. */
:root { --review-ink:#18334f; --review-line:#e1e8ef; --review-soft:#f6f9fc; }
:where(.verification-card,.review-metric,.seller-review-card,.mail-health-panel) { box-sizing:border-box; }
:where(.verification-card,.mail-health-panel,.seller-review-header,.review-filter-bar) :where(h2,h3,h4,p) { overflow-wrap:anywhere; }
.workspace-eyebrow { display:block;font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#56708b;line-height:1.6; }
.verification-intro { display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0 22px; }
.verification-intro h3,.verification-subheading h2,.verification-subheading h3 { color:var(--review-ink);font-size:1.3rem;line-height:1.4;margin:4px 0 9px;font-weight:750;letter-spacing:-.025em; }
.verification-intro p,.verification-subheading p { color:#536a80;line-height:1.7;font-size:.88rem;max-width:760px;margin:0; }
.verification-progress { flex:0 0 190px;padding:16px 20px;background:#eef5ff;border:1px solid #dbeafe;border-radius:16px;color:#284d77; }
.verification-progress strong { display:block;font-size:2rem;line-height:1.2;color:var(--clr-cobalt-600,#2563eb); }
.verification-progress strong span { color:#6481a4;font-size:1.2rem;font-weight:500; }
.verification-progress>span { display:block;margin-top:6px;font-size:.73rem;line-height:1.6; }
.verification-steps { display:flex;gap:12px;margin:0 0 24px;padding:12px 16px;background:var(--review-soft);border:1px solid var(--review-line);border-radius:12px; }
.verification-steps span { flex:1;font-size:.77rem;font-weight:600;color:#45627e; }
.verification-document-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px;align-items:start; }
.verification-card { min-width:0;position:relative;background:#fff;border:1px solid var(--review-line);border-radius:17px;padding:22px;box-shadow:0 3px 14px rgba(33,58,83,.035); }
.verification-card.is-rejected { border-color:#efc9b9;box-shadow:inset 0 3px #e57a4d; }
.verification-card.is-approved { border-color:#cbe4d9; }
.verification-card-heading { display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px;flex-wrap:wrap; }
.verification-file-icon { display:flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:11px;background:#edf4ff;color:var(--clr-cobalt-600,#2563eb); }
.verification-file-icon svg { width:20px;height:20px; }
.verification-card h3,.verification-card h4 { font-size:1rem;color:var(--review-ink);margin:0 0 9px;font-weight:750;line-height:1.5; }
.verification-card-heading h4 { margin:0; }
.review-status { display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:999px;padding:5px 10px;font-size:.67rem;font-weight:750;line-height:1.45;max-width:100%;text-align:left; }
.review-status::before { content:"";width:5px;height:5px;flex-shrink:0;border-radius:50%;background:currentColor; }
.status-approved,.status-verified { color:#176346;background:#ebf6ef;border-color:#d6eade; }
.status-rejected { color:#97411e;background:#fff0e8;border-color:#f1d3c2; }
.status-pending { color:#856012;background:#fff8e3;border-color:#eedfb4; }
.status-missing,.status-unverified { color:#596c80;background:#f0f4f7;border-color:#e2e8ef; }
.document-filename { font-size:.8rem;color:#415a71;overflow-wrap:anywhere;line-height:1.6;margin:6px 0; }
.document-meta { color:#61758a;font-size:.72rem;line-height:1.7;margin:6px 0 11px; }
.document-preview-link { color:var(--clr-cobalt-600,#2563eb);font-size:.76rem;font-weight:700;text-decoration:none;display:inline-flex;gap:6px;margin-bottom:9px; }
.document-preview-link:hover { text-decoration:underline; }
.rejection-note,.document-rejection { padding:13px 15px;background:#fff6ef;border:1px solid #f3d9c9;border-radius:10px;margin:15px 0;color:#8a421f;font-size:.8rem;line-height:1.6; }
.rejection-note p,.document-rejection p { margin:5px 0 0; }
.document-approved-note { padding:12px 14px;color:#31634e;background:#f0f8f3;border-radius:10px;margin:16px 0 0;line-height:1.7;font-size:.78rem; }
.document-help,.upload-feedback { font-size:.74rem;line-height:1.7;color:#60758a;margin:8px 0 13px; }
.document-upload-form { margin-top:17px;padding-top:17px;border-top:1px solid #edf1f5; }
.document-upload-form label,.document-review-form label,.mail-dns-form label,.mail-header-tool label { display:block;font-size:.78rem;font-weight:650;color:#36516d;margin-bottom:7px; }
.document-upload-form .input[type=file] { box-sizing:border-box;width:100%;min-width:0;padding:9px;font-size:.73rem;background:#fafcfe;border:1px dashed #bdccdc;border-radius:9px; }
.document-upload-form input::file-selector-button { border:0;background:#e9f0f8;border-radius:6px;padding:7px 10px;margin-right:9px;color:#345473;font-weight:650;cursor:pointer; }
.document-upload-form .btn { width:100%;gap:8px;min-height:42px;font-size:.8rem; }
.document-upload-form[aria-busy=true] { opacity:.7; }
.upload-feedback.is-error { color:#b42318; }
.verification-subheading { margin:26px 0 17px; }
.review-overview-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0; }
.review-metric { padding:19px 20px;border:1px solid var(--review-line);background:#fff;border-radius:15px; }
.review-metric>span { display:block;font-size:.76rem;line-height:1.5;color:#536b83;font-weight:600; }
.review-metric strong { display:block;font-size:2rem;color:#20466d;line-height:1.2;margin:12px 0 9px;letter-spacing:-.04em; }
.review-metric small { font-size:.67rem;line-height:1.6;color:#728296;display:block; }
.metric-warning strong { color:#bc632a; }
.review-filter-bar { display:flex;gap:13px;align-items:end;flex-wrap:wrap;padding:19px;background:#fff;border:1px solid var(--review-line);border-radius:15px;margin-bottom:25px; }
.review-filter-bar>div:first-of-type { flex:1 1 300px; }
.review-filter-bar>div { flex:0 1 190px;min-width:0; }
.review-filter-bar label { display:block;font-size:.73rem;font-weight:650;margin-bottom:7px;color:#466079; }
.review-filter-bar .input { width:100%;box-sizing:border-box; }
.review-filter-bar .btn { min-height:43px;font-size:.8rem; }
.review-workspace-section { margin:25px 0 32px; }
.seller-review-card { background:#fff;border:1px solid var(--review-line);border-radius:17px;margin-bottom:21px;overflow:hidden; }
.seller-review-header { display:flex;justify-content:space-between;align-items:center;gap:16px;background:linear-gradient(120deg,#f3f7fd,#fbfcfe);padding:22px 23px;border-bottom:1px solid #e7edf4; }
.seller-review-header h3 { color:var(--review-ink);font-size:1.1rem;line-height:1.5;margin:4px 0; }
.seller-review-header p { font-size:.78rem;color:#5e748b;margin:0; }
.seller-review-actions { display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap; }
.seller-review-card .admin-document-grid { padding:21px; }
.admin-document-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.admin-document-grid .verification-card { box-shadow:none; }
.document-review-form { margin-top:18px;padding-top:17px;border-top:1px solid #eaf0f5; }
.document-review-form label span { font-weight:400;font-size:.68rem;color:#76879a; }
.document-review-form textarea { resize:vertical;min-height:72px;box-sizing:border-box;width:100%;font-size:.8rem;line-height:1.6; }
.review-decision-buttons,.review-inline-actions { display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:11px; }
.review-decision-buttons .btn { font-size:.72rem;padding:8px 12px;min-height:37px; }
.review-decision-buttons .btn-danger { color:#9e3227;background:#fff;border:1px solid #e6beb9; }
.review-decision-buttons .btn-danger:hover { background:#fff3f1; }
.review-decision-buttons button:disabled { opacity:.4;cursor:not-allowed;transform:none;box-shadow:none; }
.review-empty-state { padding:30px;background:#fff;border:1px dashed #cbd9e6;border-radius:14px;color:#5b7189;text-align:center; }
.review-empty-state h3 { color:#294863;font-size:1rem;margin:0 0 7px; }
.review-empty-state p { font-size:.83rem;margin:0; }
.review-history { padding-left:19px;border-left:2px solid #dee8f4; }
.review-history article { position:relative;padding:0 0 22px 5px; }
.review-history article::before { content:"";position:absolute;left:-26px;top:5px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#6798d9; }
.review-history article>div { display:flex;gap:12px;align-items:center;flex-wrap:wrap; }
.review-history strong { font-size:.83rem;color:#37506a; }
.review-history p { font-size:.76rem;line-height:1.7;margin:7px 0;color:#60758c; }
.document-viewer { width:min(1100px,92vw);max-width:92vw;height:88vh;max-height:88vh;padding:0;border:1px solid #d6dfeb;border-radius:15px;background:#fff;color:#244361;box-shadow:0 30px 90px #0004; }
.document-viewer[open] { display:flex;flex-direction:column; }
.document-viewer::backdrop { background:rgba(11,24,42,.67); }
.document-viewer-toolbar { padding:15px 21px;display:flex;gap:15px;justify-content:space-between;align-items:center;border-bottom:1px solid #e0e6ef;flex-shrink:0; }
.document-viewer-toolbar strong { font-size:.87rem;overflow-wrap:anywhere; }
.document-viewer-toolbar p { font-size:.7rem;color:#66798d;margin:4px 0 0; }
.document-viewer-content { background:#e9eef5;min-height:0;flex:1;overflow:auto;display:grid;place-items:center; }
.document-viewer-content iframe { border:0;width:100%;height:100%;min-height:300px; }
.document-viewer-content img { max-width:100%;max-height:100%;object-fit:contain;padding:16px;box-sizing:border-box; }
.document-viewer-footer { padding:11px 21px;display:flex;gap:8px;font-size:.76rem;flex-shrink:0;flex-wrap:wrap; }
.document-viewer-footer a { color:var(--clr-cobalt-600,#2563eb);text-decoration:underline; }
.mail-health-panel { scroll-margin-top:100px; }
.mail-health-panel>.verification-subheading { margin-top:0; }
.mail-warning,.mail-provider-note { padding:12px 15px;border:1px solid #e0e9f5;background:#f4f8fd;border-radius:10px;font-size:.78rem;line-height:1.7;color:#3d5d7d;margin:12px 0; }
.mail-warning p,.mail-provider-note p { margin:0; }
.mail-provider-note strong { display:block;margin-bottom:5px; }
.mail-check-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:19px 0; }
.mail-check-steps article { padding:15px;border:1px solid #e2e9f2;border-radius:11px; }
.mail-check-steps strong { color:#325a83;font-size:.73rem; }
.mail-check-steps p { font-size:.75rem;line-height:1.8;color:#5b7289;margin:8px 0 0; }
.mail-dns-form { display:flex;align-items:center;gap:15px;margin:23px 0 12px;flex-wrap:wrap; }
.mail-dns-form>div { flex:1 1 250px; }
.mail-dns-form .input { width:100%;box-sizing:border-box; }
.mail-dns-form label span { font-weight:400; }
.mail-dns-form .btn { font-size:.78rem;min-height:42px; }
.mail-dns-result { border:1px solid var(--review-line);padding:15px;border-radius:11px;margin:12px 0; }
.mail-dns-result>div { display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:9px; }
.mail-dns-result strong { font-size:.82rem;color:#355778; }
.mail-dns-result code,.mail-dns-result pre { overflow-wrap:anywhere;white-space:pre-wrap;font-size:.72rem;color:#41617d; }
.mail-dns-result p { font-size:.75rem;line-height:1.7;color:#61768a;margin:8px 0; }
.mail-dns-result summary { font-size:.72rem;color:#466888;cursor:pointer; }
.mail-header-tool { border-top:1px solid #e1e8ef;padding-top:17px;margin-top:21px; }
.mail-header-tool>summary { color:#284c73;font-size:.83rem;font-weight:700;cursor:pointer; }
.mail-header-tool p,.mail-receiver-report { font-size:.76rem;line-height:1.8;color:#5b7289; }
.mail-header-tool textarea { font-family:monospace;font-size:.75rem;width:100%;box-sizing:border-box;margin-bottom:12px; }
.mail-header-tool .btn { font-size:.78rem; }
.mail-receiver-report article { margin:12px 0; }
.mail-result-tags { display:flex;gap:8px;margin:8px 0;flex-wrap:wrap; }
/* Shared polish: keep forms legible on small screens without disturbing navigation. */
:where(.verification-card,.review-filter-bar,.mail-health-panel) :focus-visible { outline:3px solid #8fbcfa;outline-offset:3px; }
:where(.verification-card,.review-filter-bar,.mail-health-panel) .input { max-width:100%; }
@media (max-width:1000px) { .review-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.mail-check-steps { grid-template-columns:1fr; } }
@media (max-width:640px) {
  .verification-intro { flex-direction:column;align-items:stretch;gap:16px;padding-top:15px; }
  .verification-progress { flex:auto;display:flex;align-items:center;gap:15px;padding:12px 16px; }
  .verification-progress strong { font-size:1.7rem; }
  .verification-progress>span { margin:0; }
  .verification-steps { flex-direction:column;gap:8px; }
  .verification-document-grid,.admin-document-grid { grid-template-columns:minmax(0,1fr); }
  .verification-card { padding:18px; }
  .review-overview-grid { gap:10px; }.review-metric { padding:15px; }.review-metric strong { font-size:1.7rem; }
  .seller-review-header { flex-direction:column;align-items:flex-start;padding:18px; }
  .seller-review-actions { justify-content:flex-start; }.seller-review-card .admin-document-grid { padding:13px; }
  .review-filter-bar { padding:15px;gap:11px; }.review-filter-bar>div,.review-filter-bar>div:first-of-type { flex:1 1 100%; }
  .review-filter-bar>.btn { flex:1; }
  .review-decision-buttons .btn { flex:1 1 auto; }
  .document-viewer { width:96vw;max-width:96vw;height:88vh; }
  .document-viewer-toolbar { padding:12px; }
  .mail-dns-form .btn { width:100%; }
  .verification-intro h3 { font-size:1.17rem; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } *,*::before,*::after { animation-duration:.01ms!important;transition-duration:.01ms!important; } }

.flash-msg-warning { background:#fff8e7;border-color:#eed899;color:#845c14; }
