:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; color: #172433; background: #f3f6f8; }
* { box-sizing: border-box; }
body { margin: 0; }
.submission-shell { width: min(720px, calc(100% - 24px)); margin: 0 auto; padding: 22px 0 48px; }
.submission-header { padding: 8px 4px 18px; }
.eyebrow { margin: 0 0 4px; color: #607080; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 8px; font-size: clamp(27px, 8vw, 40px); }
h2 { margin-bottom: 14px; font-size: 20px; }
.submission-header p:last-child, .helper { margin-bottom: 0; color: #657487; }
.submission-form { display: grid; gap: 14px; }
.submission-card { padding: 18px; background: #fff; border: 1px solid #dce4ea; border-radius: 16px; box-shadow: 0 5px 18px #16324b0a; }
.primary-card { padding: 20px; }
.step-label { display: inline-grid; place-items: center; width: 26px; height: 26px; margin-bottom: 8px; color: #fff; background: #1769aa; border-radius: 50%; font-weight: 900; }
.large-label { font-size: 16px; }
.large-label textarea { min-height: 132px; font-size: 16px; }
.upload-box { display: grid; place-items: center; gap: 5px; min-height: 132px; padding: 20px; color: #1769aa; background: #f2f8fc; border: 2px dashed #8ab8d7; border-radius: 14px; text-align: center; cursor: pointer; }
.upload-box small { color: #657487; font-weight: 500; }
.upload-box input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-icon { display: grid; place-items: center; width: 38px; height: 38px; color: #fff; background: #1769aa; border-radius: 50%; font-size: 24px; line-height: 1; }
.evidence-summary { min-height: 22px; margin-top: 10px; color: #536579; text-align: center; }
.customer-preview { margin-top: 12px; padding: 13px; background: #f7fafc; border: 1px solid #dce4ea; border-radius: 11px; }
.preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #24425d; }
.text-button { padding: 6px 9px; color: #1769aa; background: #eaf3f9; border: 0; border-radius: 8px; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.customer-preview-list { display: grid; gap: 7px; margin: 11px 0 0; }
.customer-preview-list div { display: grid; grid-template-columns: 105px 1fr; gap: 8px; }
.customer-preview-list dt { color: #657487; font-size: 12px; font-weight: 750; }
.customer-preview-list dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.customer-parse-notice { margin: 11px 0 0; color: #9b5c00; font-size: 12px; font-weight: 700; }
.customer-edit-fields { display: grid; gap: 10px; margin-top: 13px; padding-top: 13px; border-top: 1px solid #dce4ea; }
.advanced-section { padding: 15px 18px; background: #fff; border: 1px solid #dce4ea; border-radius: 14px; }
.advanced-section summary { color: #24425d; font-weight: 800; cursor: pointer; }
.advanced-section .field-grid { margin-top: 15px; }
.product-card-top { display: grid; grid-template-columns: minmax(120px, 160px) 1fr; align-items: center; gap: 14px; }
.unresolved-label { color: #9b5c00; }
.line-upload { font-size: 12px; }
.line-remove { justify-self: start; padding: 7px 10px; color: #8f3030; background: #fff0f0; border: 0; border-radius: 8px; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
.submit-status.error { color: #8d3434; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.identity-note { margin: 0; padding: 12px 14px; border-radius: 10px; background: #eef6ff; color: #164e7a; font-weight: 700; }
label { display: grid; gap: 6px; color: #34485d; font-size: 13px; font-weight: 750; }
input, select, textarea { width: 100%; min-height: 44px; padding: 10px 11px; color: inherit; font: inherit; background: #fff; border: 1px solid #c5d0da; border-radius: 9px; }
textarea { resize: vertical; }
.full-width { grid-column: 1 / -1; }
.section-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.count-pill { flex: 0 0 auto; padding: 6px 9px; color: #1769aa; background: #eaf3f9; border-radius: 99px; font-size: 12px; font-weight: 800; }
.product-line { display: grid; gap: 11px; margin: 14px 0; padding: 14px; background: #f8fafc; border: 1px solid #dce4ea; border-radius: 12px; }
.product-line-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.product-line-heading h3 { margin: 0; font-size: 16px; }
.line-remove { padding: 6px 8px; color: #8f3030; background: #fff0f0; font-size: 12px; }
.line-image-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.image-preview-card { position: relative; min-height: 92px; }
.image-preview-card img { display: block; width: 100%; height: 100px; object-fit: cover; border-radius: 8px; background: #e9eff4; }
.image-preview-card button { position: absolute; top: 4px; right: 4px; padding: 3px 7px; color: #fff; background: #263848cc; border-radius: 99px; }
.image-empty { display: grid; place-items: center; min-height: 80px; padding: 10px; color: #8b4c00; background: #fff7e8; border: 1px dashed #d9aa5d; border-radius: 8px; font-size: 12px; text-align: center; }
.secondary-button, .submit-button { width: 100%; min-height: 46px; border: 0; border-radius: 10px; font: inherit; font-weight: 800; cursor: pointer; }
.secondary-button { color: #24425d; background: #e8eef4; }
.submit-button { color: #fff; background: #1769aa; }
.submit-button:disabled { cursor: wait; opacity: .65; }
.submit-status { min-height: 22px; margin: 0; color: #8d3434; font-weight: 750; text-align: center; }
.success-panel { padding: 18px; color: #235a38; background: #effaf2; border: 1px solid #bde1c8; border-radius: 12px; }
.success-panel h2 { margin-bottom: 8px; }
.success-panel p { margin-bottom: 5px; }
.post-submit-actions { display: grid; gap: 9px; margin-top: 14px; }
.cancel-button { width: 100%; min-height: 46px; color: #8f3030; background: #fff0f0; border: 0; border-radius: 10px; font: inherit; font-weight: 800; cursor: pointer; }
.draft-edit-panel { display: grid; gap: 9px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #bde1c8; }
@media (max-width: 560px) { .submission-shell { width: min(100% - 16px, 520px); padding-top: 12px; } .submission-card { padding: 15px; border-radius: 13px; } .field-grid { grid-template-columns: 1fr; } .full-width { grid-column: auto; } .line-image-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); } .product-card-top { grid-template-columns: 1fr; } .primary-card { padding: 16px; } h1 { font-size: 30px; } }
