/* VEIC Coupon Registration — v2.343.0. Scoped under .veic-cpn */
.veic-cpn{--cpn-navy:#0d2c5c;--cpn-blue:#0877bd;--cpn-line:#dbe3ec;--cpn-ink:#172033;--cpn-mut:#64748b;color:var(--cpn-ink);font-family:inherit;line-height:1.5;box-sizing:border-box}
.veic-cpn *,.veic-cpn *::before,.veic-cpn *::after{box-sizing:border-box}
.veic-cpn-form-wrap{max-width:860px;margin:0 auto}
.veic-cpn-card{background:#fff;border:1px solid var(--cpn-line);border-radius:10px;padding:22px;margin:0 0 16px}
.veic-cpn-closed .veic-cpn-card{text-align:center;max-width:560px;margin:24px auto}
.veic-cpn-section{border:1px solid var(--cpn-line);border-radius:10px;background:#fff;padding:16px 18px;margin:0 0 16px;min-width:0}
.veic-cpn-section legend{font-weight:700;color:var(--cpn-navy);padding:0 8px;font-size:15px}
.veic-cpn-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.veic-cpn-field{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.veic-cpn-field b{color:#b91c1c}
.veic-cpn-field input{padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:15px;width:100%;font-weight:400}
.veic-cpn-field input:focus,.veic-cpn-qty input:focus{outline:2px solid var(--cpn-blue);outline-offset:1px}
.veic-cpn-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
.veic-cpn-tablewrap{overflow-x:auto}
.veic-cpn table{border-collapse:collapse;width:100%}
.veic-cpn-cats th,.veic-cpn-summary th,.veic-cpn-ack-items th{background:var(--cpn-navy);color:#fff;padding:9px 10px;font-size:12px;text-align:left}
.veic-cpn-cats td,.veic-cpn-summary td,.veic-cpn-ack-items td{padding:9px 10px;border-bottom:1px solid var(--cpn-line);font-size:14px;vertical-align:middle}
.veic-cpn .n{text-align:right}
.veic-cpn-muted{color:var(--cpn-mut);font-size:12px}
.veic-cpn-qty{display:inline-flex;align-items:center;gap:4px}
.veic-cpn-qty input{width:64px;text-align:center;padding:8px 4px;border:1px solid #cbd5e1;border-radius:6px;font-size:15px}
.veic-cpn-step{width:34px;height:34px;border:1px solid #cbd5e1;background:#f8fafc;border-radius:6px;font-size:18px;line-height:1;cursor:pointer;color:var(--cpn-navy)}
.veic-cpn-step:hover{background:#e8f0fa}
.veic-cpn-grand td{background:#f1f5fa;font-size:14px}
.veic-cpn-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.veic-cpn-method{display:flex;gap:10px;align-items:flex-start;border:2px solid var(--cpn-line);border-radius:10px;padding:12px 14px;cursor:pointer;background:#fff}
.veic-cpn-method:has(input:checked){border-color:var(--cpn-blue);background:#f0f8ff}
.veic-cpn-method span{display:flex;flex-direction:column}
.veic-cpn-method em{font-style:normal;color:var(--cpn-mut);font-size:12px}
.veic-cpn-confirm-text{font-size:13px;color:#334155;margin:0 0 12px}
.veic-cpn-btn,a.veic-cpn-btn{display:inline-block;padding:10px 20px;border-radius:6px;border:1px solid var(--cpn-navy);background:#fff;color:var(--cpn-navy);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}
.veic-cpn-btn-primary{background:var(--cpn-navy);color:#fff;font-size:16px;padding:12px 28px}
.veic-cpn-btn:disabled{opacity:.6;cursor:not-allowed}
.veic-cpn-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;border-radius:8px;padding:10px 14px;margin:0 0 14px;font-size:14px}
.veic-cpn-ack{background:#fff;border:1px solid var(--cpn-line);border-top:4px solid #16803d;border-radius:10px;padding:22px}
.veic-cpn-ack h3{margin:0 0 10px;color:var(--cpn-navy)}
.veic-cpn-ack-lead,.veic-cpn-ack-instr{background:#f7f9fc;border:1px dashed #94a3b8;border-radius:6px;padding:10px 12px;font-weight:600}
.veic-cpn-ack-meta th{text-align:left;width:42%;color:var(--cpn-mut);font-weight:600;padding:5px 0;font-size:13px}
.veic-cpn-ack-meta td{padding:5px 0;font-size:14px}
.veic-cpn-ack-total{font-size:16px;text-align:right}
.veic-cpn-notice{padding:10px 14px;border-radius:6px;margin:0 0 14px;font-size:14px;background:#ecfdf5;border:1px solid #86efac;color:#14532d}
.veic-cpn-notice-err{background:#fef2f2;border-color:#fca5a5;color:#991b1b}
.veic-cpn-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}
.veic-cpn-badge-ok{background:#dcfce7;color:#166534}.veic-cpn-badge-warn{background:#fef3c7;color:#92400e}
.veic-cpn-badge-bad{background:#fee2e2;color:#991b1b}.veic-cpn-badge-muted{background:#e2e8f0;color:#475569}
.veic-cpn-inline{display:inline-block;margin:2px 2px 2px 0}
.veic-cpn-admin .veic-cpn-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:0 0 12px}
.veic-cpn-admin .veic-cpn-filters label{display:flex;flex-direction:column;font-size:11px;font-weight:600;gap:3px}
.veic-cpn-admin .veic-cpn-actions{white-space:nowrap}
.veic-cpn-pager{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.veic-cpn-newwrap{margin:14px 0;padding:16px;border:1px solid var(--cpn-line);border-radius:10px;background:#fafcff}
.veic-cpn-admin table.widefat,.veic-cpn-admin .veic-cpn-listwrap{overflow-x:auto;display:block}
@media (max-width:640px){
 .veic-cpn-grid,.veic-cpn-methods{grid-template-columns:1fr}
 .veic-cpn-cats thead{display:none}
 .veic-cpn-cats,.veic-cpn-cats tbody,.veic-cpn-cats tr,.veic-cpn-cats td{display:block;width:100%}
 .veic-cpn-cats tr{border:1px solid var(--cpn-line);border-radius:8px;margin:0 0 10px;padding:6px}
 .veic-cpn-cats td{border:0;display:flex;justify-content:space-between;gap:10px;padding:5px 6px}
 .veic-cpn-cats td::before{content:attr(data-label);font-weight:600;color:var(--cpn-mut);font-size:12px}
 .veic-cpn-btn-primary{width:100%}
}

/* v2.343.1 — registration header + manual acknowledgement panel (scoped) */
.veic-cpn-header{background:#0d2c5c;color:#fff;text-align:center;padding:26px 20px 22px;border-radius:12px 12px 0 0;margin:0 0 16px}
.veic-cpn .veic-cpn-header-title{margin:0 0 6px;color:#fff;font-size:28px;line-height:1.2;font-weight:800;letter-spacing:.6px}
.veic-cpn .veic-cpn-header-subtitle{margin:0 0 6px;color:#d9e8ff;font-size:16px;font-weight:600;line-height:1.4}
.veic-cpn .veic-cpn-header-description{margin:0;color:#b9d2f5;font-size:13px;letter-spacing:.3px}
.veic-cpn-ackpanel{margin:14px 0;padding:16px;border:1px solid #f5c26b;border-left:4px solid #ed6c02;border-radius:8px;background:#fffaf0}
.veic-cpn-ackpanel[hidden]{display:none}
.veic-cpn-ackpanel h3{margin:0 0 6px}
.veic-cpn-ackform .veic-cpn-field{margin:0 0 12px;max-width:520px}
.veic-cpn-ackform select,.veic-cpn-ackform textarea{padding:9px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;width:100%;font-weight:400}
.veic-cpn-check{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;font-size:13px;font-weight:600;max-width:640px}
.veic-cpn-check input{margin-top:3px}
@media (max-width:640px){.veic-cpn .veic-cpn-header-title{font-size:21px}.veic-cpn .veic-cpn-header-subtitle{font-size:14px}.veic-cpn-header{padding:20px 14px 18px}}
.veic-cpn-ackpanel .veic-cpn-kv{border-collapse:collapse;margin:0 0 14px}
.veic-cpn-ackpanel .veic-cpn-kv th{font-size:13px;font-weight:600;color:#475569;text-align:left;padding:4px 18px 4px 0;white-space:nowrap}
.veic-cpn-ackpanel .veic-cpn-kv td{font-size:14px;font-weight:600;padding:4px 0}

/* v2.344.2 — Opens Soon / Closed screens (scoped; the countdown itself is styled only by veic-cr-countdown.css). */
.veic-cpn-availability{max-width:1000px;margin:30px auto;padding:0 15px}
.veic-cpn-closed .veic-cpn-availability-card{max-width:560px;width:100%;margin:0 auto;padding:40px 32px;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.06);overflow-wrap:anywhere}
.veic-cpn-closed .veic-cpn-availability-card--timer-small{max-width:580px}
.veic-cpn-closed .veic-cpn-availability-card--timer-medium{max-width:790px}
.veic-cpn-closed .veic-cpn-availability-card--timer-large{max-width:970px}
.veic-cpn-availability-icon{margin:0 auto 16px;line-height:1}
.veic-cpn-availability-icon--soon{width:56px;height:56px;border-radius:50%;background:#ebf8ff;color:#3182ce;font-size:26px;line-height:56px;text-align:center}
.veic-cpn-availability-icon--closed{font-size:52px}
.veic-cpn-availability-title{margin:0 0 12px;color:#1e293b;font-size:22px;line-height:1.3}
.veic-cpn-availability-message{margin:0;color:#64748b;font-size:15px;line-height:1.7}
.veic-cpn-availability-date{margin:16px 0 0;font-size:14px;color:#3182ce;font-weight:600;line-height:1.5}
@media (max-width:600px){
.veic-cpn-availability{margin:18px auto;padding:0 10px}
.veic-cpn-closed .veic-cpn-availability-card{padding:28px 14px}
.veic-cpn-availability-title{font-size:19px}
}

/* v2.344.17 — Coupon Email Template editor only (scoped to .veic-cpn-emailform) */
.veic-cpn-emailform .veic-cpn-code-wrap[hidden],.veic-cpn-emailform .veic-cpn-preview-wrap[hidden]{display:none!important}
.veic-cpn-emailform .veic-cpn-code-wrap{max-width:100%}
.veic-cpn-emailform .CodeMirror{height:480px;border:1px solid #cbd5e1;border-radius:4px;font-family:Menlo,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.5}
.veic-cpn-emailform .CodeMirror-scroll{max-width:100%}
.veic-cpn-emailform .veic-cpn-viewbar .veic-cpn-fmt-msg{margin-left:8px}
.veic-cpn-emailform .veic-cpn-preview-wrap{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.veic-cpn-emailform .veic-cpn-preview{max-width:100%}
@media (max-width:640px){.veic-cpn-emailform .CodeMirror{height:380px;font-size:12px}.veic-cpn-emailform .veic-cpn-preview{height:420px!important}}
