:root {
  color-scheme: light;
  font-family: Pretendard, "Noto Sans KR", system-ui, sans-serif;
  color: #18251f;
  background: #edf2ee;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.topbar { min-height: 64px; padding: 0 max(16px, calc((100% - 1180px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #143a29; }
.topbar a { color: #dceae1; text-decoration: none; padding: 19px 10px; display: inline-block; }
.topbar a:hover { color: white; background: rgba(255,255,255,.07); }
.topbar .brand { padding-left: 0; color: white; font-weight: 900; letter-spacing: .09em; }
.topbar-links { display: flex; align-items: center; gap: 7px; }
.topbar .topbar-nav-link { border: 1px solid rgba(198,225,209,.24); border-radius: 9px; padding: 8px 12px; background: rgba(255,255,255,.045); color: #dceae1; font-weight: 750; white-space: nowrap; transition: border-color .15s ease, background .15s ease, color .15s ease; }
.topbar .topbar-nav-link:hover, .topbar .topbar-nav-link:focus-visible { border-color: rgba(211,237,221,.58); background: rgba(255,255,255,.11); color: white; outline: none; }
.topbar .topbar-nav-link.active { border-color: #8db79e; background: rgba(216,239,225,.18); color: white; box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); }
.topbar-user { margin-left: 8px; color: #b8d2c3; font-size: 13px; font-weight: 700; }
.topbar-user-menu { position: relative; display: inline-block; margin-left: 8px; color: #dceae1; font-size: 13px; font-weight: 700; }
.topbar-user-trigger { border: 1px solid rgba(198,225,209,.24); border-radius: 9px; padding: 8px 12px; background: rgba(255,255,255,.045); color: #dceae1; font: inherit; cursor: pointer; }
.topbar-user-trigger::after { content: " ▾"; color: #9fc4ad; }
.topbar-user-trigger[aria-expanded="true"], .topbar-user-trigger:hover, .topbar-user-trigger:focus-visible { border-color: rgba(211,237,221,.58); color: white; background: rgba(255,255,255,.11); outline: none; }
.topbar-user-menu > div { position: absolute; z-index: 40; top: calc(100% + 6px); right: 0; width: 180px; overflow: hidden; border: 1px solid #cbd8d0; border-radius: 10px; background: white; box-shadow: 0 14px 34px rgba(17,48,33,.2); }
.topbar-user-menu > div a, .topbar-user-menu > div button { display: block; width: 100%; min-height: 0; border: 0; padding: 11px 14px; background: white; color: #284338; text-align: left; font: inherit; text-decoration: none; cursor: pointer; }
.topbar-user-menu > div a:hover, .topbar-user-menu > div button:hover { color: #176642; background: #eef5f1; }
.topbar-user-menu .topbar-logout { display: block; border-top: 1px solid #e4eae6; }
.topbar-logout { display: inline; margin: 0; }
.topbar-logout button { border: 0; padding: 19px 10px; background: transparent; color: #dceae1; font: inherit; font-weight: 700; cursor: pointer; }
.topbar-logout button:hover { color: white; background: rgba(255,255,255,.07); }
.shell { width: calc(100% - 40px); margin: 0 auto; padding: 40px 0; }
header { padding: 12px 4px 28px; }
.eyebrow { color: #23724a; font-size: 13px; font-weight: 800; letter-spacing: .12em; }
h1 { margin: 8px 0 10px; font-size: clamp(32px, 5vw, 54px); line-height: 1.08; }
.description { margin: 0; color: #5a6860; font-size: 17px; }
.notice { display: flex; gap: 16px; align-items: center; padding: 18px 20px; border: 1px solid #c4d9cb; border-radius: 14px; background: #f8fbf9; }
.notice strong { color: #1f6a44; white-space: nowrap; }
.notice span { color: #4d5d54; }
.notice.warning { margin-top: 18px; border-color: #e8c98d; background: #fff8e9; }
.notice.warning strong { color: #8a5a12; }
.notice.warning p { margin: 0; color: #694d20; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 24px 0; }
.cards article { padding: 22px; border-radius: 16px; background: #173d2b; color: white; box-shadow: 0 12px 30px rgba(22, 61, 43, .11); }
.cards span { display: block; color: #b8d2c3; font-size: 14px; }
.cards strong { display: inline-block; margin-top: 18px; font-size: 32px; }
.cards small { margin-left: 5px; color: #b8d2c3; }
.next { padding: 26px 28px; border-radius: 16px; background: white; }
.next h2 { margin: 0 0 16px; font-size: 20px; }
.next ol { margin: 0; padding-left: 22px; color: #526158; line-height: 1.9; }
footer { padding: 24px 4px; color: #78857d; font-size: 13px; }
.page-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.page-head h1 { font-size: clamp(30px, 4vw, 44px); }
.button { appearance: none; display: inline-block; border: 0; border-radius: 9px; padding: 11px 16px; background: #23724a; color: white; font: inherit; font-weight: 750; text-decoration: none; cursor: pointer; }
.button:hover { background: #195d3b; }
.button.secondary { margin-left: 8px; background: #e6eee9; color: #244b37; }
.button.douzone { background: #2457a6; color: white; }
.button.douzone:hover { background: #1b4382; }
.button.danger { background: #b84434; }
.button.danger:hover { background: #963226; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.backup-guide { margin-bottom: 20px; }
.backup-guide p { margin-bottom: 0; }
.backup-table th:nth-child(1) { width: 31%; }
.backup-table th:nth-child(2) { width: 16%; }
.backup-table th:nth-child(3) { width: 15%; }
.backup-actions { white-space: nowrap; }
.actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.actions p { color: #66736c; }
.flash { margin-bottom: 18px; padding: 14px 16px; border-radius: 10px; }
.flash.success { background: #dff3e6; color: #175c35; }
.flash.error { background: #fde8e5; color: #902b22; }
.login-shell { display: grid; place-items: center; min-height: calc(100vh - 150px); }
.login-card { width: min(420px, 100%); padding: 34px; border: 1px solid #d6e0da; border-radius: 16px; background: white; box-shadow: 0 14px 38px rgba(22,61,43,.1); }
.login-card h1 { margin: 5px 0 8px; font-size: 34px; }
.login-card .description { font-size: 14px; }
.login-error { margin: 18px 0 0; padding: 11px 13px; border-radius: 8px; background: #fde8e5; color: #902b22; font-size: 13px; }
.login-form { display: grid; gap: 16px; margin-top: 24px; }
.login-form .button { margin-top: 2px; }
.password-help { margin: -5px 0 0; color: #65736b; font-size: 12px; line-height: 1.5; }
.account-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.account-card { align-content: start; }
.account-card h2 { margin: 0 0 6px; }
.account-card > div > p { margin: 0; color: #67756d; }
.account-form { display: grid; gap: 14px; margin-top: 22px; }
.access-back-button { margin-top: 24px; }
.dashboard-drilldown-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 13px 16px; border: 1px solid #c9ddd0; border-radius: 12px; background: #f7faf8; }
.dashboard-drilldown-summary > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.dashboard-drilldown-summary strong { color: #1f6a44; white-space: nowrap; }
.dashboard-drilldown-summary span { display: flex; flex-wrap: wrap; gap: 6px; }
.dashboard-drilldown-summary b { padding: 5px 8px; border-radius: 999px; color: #405048; background: #e7efe9; font-size: 12px; }
.dashboard-drilldown-summary a { color: #176642; font-size: 13px; font-weight: 800; white-space: nowrap; }
.filter-panel { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 18px; padding: 18px; background: white; border-radius: 14px; }
label { display: flex; flex-direction: column; gap: 7px; color: #405048; font-size: 14px; font-weight: 700; }
label small, .form-card small, .meta { color: #738078; font-weight: 400; }
input, select, textarea { width: 100%; min-height: 42px; border: 1px solid #c9d3cd; border-radius: 8px; padding: 9px 11px; background: white; color: #18251f; font: inherit; }
input, textarea { caret-color: #c1121f; }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { outline: 3px solid rgba(35,114,74,.16); border-color: #23724a; }
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus, textarea:focus { border: 2px solid #c1121f; outline: 3px solid rgba(193,18,31,.16); }
.filter-panel label { min-width: 135px; }
.filter-panel .grow { flex: 1; min-width: 220px; }
.starred-only-filter { min-width: 0 !important; }
.starred-only-filter input { position: absolute; width: 1px; min-height: 1px; opacity: 0; }
.starred-only-filter span { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 8px 12px; border: 1px solid #d2dbd5; border-radius: 8px; background: #f5f8f6; color: #536159; cursor: pointer; white-space: nowrap; }
.starred-only-filter input:checked + span { border-color: #bd8d00; background: #fff6cf; color: #6d5100; box-shadow: inset 0 0 0 1px #e2b833; }
.starred-only-filter input:focus-visible + span { outline: 3px solid rgba(189,141,0,.22); outline-offset: 2px; }
.date-filter-group { display: grid; gap: 7px; min-width: 282px; }
.date-filter-fields { display: grid; grid-template-columns: repeat(2, minmax(135px, 1fr)); gap: 12px; }
.date-quick-actions { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; }
.date-quick-actions button { min-height: 30px; border: 1px solid #d2dbd5; border-radius: 7px; padding: 5px 4px; background: #f5f8f6; color: #405048; font: inherit; font-size: 12px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.date-quick-actions button:hover { border-color: #8eaa99; background: #eaf1ed; }
.date-quick-actions button[aria-pressed="true"] { border-color: #23724a; background: #23724a; color: white; }
.date-quick-actions button:focus-visible { outline: 3px solid rgba(35,114,74,.16); outline-offset: 1px; }
.filter-panel .view-mode-control { margin: 0; padding: 0; border: 0; }
.view-mode-control legend { margin-bottom: 7px; padding: 0; color: #405048; font-size: 14px; font-weight: 700; }
.view-mode-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3px; min-width: 176px; padding: 4px; border: 1px solid #d7dfda; border-radius: 11px; background: #eef2f0; box-shadow: inset 0 1px 2px rgba(24,56,39,.05); }
.filter-panel .view-mode-options label { min-width: 0; }
.view-mode-options input { position: absolute; width: 1px; min-height: 1px; opacity: 0; pointer-events: none; }
.view-mode-options span { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 34px; border-radius: 8px; padding: 6px 10px; color: #5b6961; font-size: 13px; font-weight: 750; white-space: nowrap; cursor: pointer; transition: background .16s ease, color .16s ease, box-shadow .16s ease; }
.view-mode-options span:hover { color: #24563c; }
.view-mode-options b { font-size: 16px; line-height: 1; }
.view-mode-options input:checked + span { background: white; color: #176642; box-shadow: 0 2px 7px rgba(24,56,39,.14); }
.view-mode-options input:focus-visible + span { outline: 3px solid rgba(35,114,74,.18); outline-offset: 1px; }
.list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -4px 0 12px; }
.list-toolbar-start { display: flex; align-items: center; gap: 8px; }
.bulk-actions { display: flex; align-items: center; justify-content: flex-start; gap: 12px; margin: 0; }
.bulk-actions .button { padding: 7px 11px; font-size: 13px; }
.waybill-export-issue { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 14px; border-bottom: 1px solid #e4e9e6; }
.waybill-export-issue:last-child { border-bottom: 0; }
.waybill-export-issue strong { color: #263d31; }
.waybill-export-issue span { color: #9a3d32; font-weight: 700; text-align: right; }
.table-expand-all.button { margin: 0; padding: 7px 11px; font-size: 13px; }
.table-expand-all[aria-pressed="true"] { background: #dce9e1; color: #174a30; }
.page-size-control { flex-direction: row; align-items: center; gap: 7px; }
.page-size-control select { width: 82px; min-height: 34px; padding: 5px 8px; }
.table-wrap { overflow-x: hidden; border-radius: 14px; background: white; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { padding: 13px 12px; border-bottom: 1px solid #e4e9e6; text-align: left; vertical-align: top; }
th { background: #f8faf8; color: #526158; white-space: nowrap; }
td a { color: #176642; font-weight: 800; }
td small { display: block; color: #78857d; }
.selection-cell { width: 42px; padding-right: 4px; text-align: center; }
.selection-cell input, .record-card-select input, .table-record-select input { width: 19px; min-height: 19px; margin: 0; accent-color: #23724a; cursor: pointer; }
.record-table { border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 13px; }
.record-table col:nth-child(1) { width: 10%; }
.record-table col:nth-child(2) { width: 17%; }
.record-table col:nth-child(3) { width: 5%; }
.record-table col:nth-child(4) { width: 9%; }
.record-table col:nth-child(5) { width: 8%; }
.record-table col:nth-child(6) { width: 15%; }
.record-table col:nth-child(7) { width: 5%; }
.record-table col:nth-child(8) { width: 13%; }
.record-table col:nth-child(9) { width: 7%; }
.record-table col:nth-child(10) { width: 11%; }
.record-table th, .record-table td { padding: 11px 8px; overflow-wrap: anywhere; }
.record-table > tbody > tr:not(.table-more-row) > td { vertical-align: middle; }
.record-table > tbody > .table-group-summary-row > td { transition: background-color .12s ease; }
.record-table > tbody > .table-group-summary-row:hover > td,
.record-table > tbody > .table-group-summary-row:focus-within > td { background: #eaf7d6; }
.record-table th:nth-child(3), .record-table td:nth-child(3),
.record-table th:nth-child(7), .record-table td:nth-child(7),
.record-table th:nth-child(9), .record-table td:nth-child(9) { text-align: center; }
.table-recipient-cell { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table-date-cell { min-width: 0; }
.table-receipt-group { display: grid; gap: 6px; min-width: 0; }
.table-receipt-primary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 5px; min-width: 0; padding: 8px 9px; border-radius: 7px; background: #23724a; color: white; }
.table-receipt-primary > span:first-child { grid-column: 1; color: #cfe8d9; font-size: 9px; font-weight: 750; }
.table-receipt-primary > a { grid-column: 1; min-width: 0; overflow-wrap: anywhere; color: white; font-size: 12px; line-height: 1.35; text-decoration: none; }
.table-receipt-primary > a:hover { text-decoration: underline; text-underline-offset: 2px; }
.table-receipt-primary > .special-receipt-star { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.special-receipt-star { display: inline-flex; flex: 0 0 38px; align-items: center; justify-content: center; width: 38px; height: 38px; color: #ffd84d; font-size: 31px; line-height: 1; text-shadow: -1px -1px 0 #765700, 1px -1px 0 #765700, -1px 1px 0 #765700, 1px 1px 0 #765700; }
.table-receipt-children { position: relative; min-width: 0; padding: 0 2px; color: #5f6d65; font-size: 10px; line-height: 1.45; }
.table-receipt-count { display: inline-flex; padding: 3px 7px; border-radius: 999px; background: #edf1ef; color: #65736b; font-weight: 750; white-space: nowrap; }
.individual-receipts-trigger { min-height: 26px; border: 1px solid #c7d4cd; border-radius: 999px; padding: 3px 9px; background: #f5f8f6; color: #4e6257; font: inherit; font-weight: 800; white-space: nowrap; cursor: pointer; }
.individual-receipts-trigger:hover, .individual-receipts-trigger:focus-visible, .individual-receipts-trigger[aria-expanded="true"] { border-color: #7fa58f; background: #eaf3ed; color: #215f3e; outline: none; }
.individual-receipts-popup { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; display: none; width: max-content; min-width: 210px; max-width: min(310px, 70vw); max-height: 220px; overflow-y: auto; padding: 10px 11px; border: 1px solid #adc2b6; border-radius: 9px; background: white; box-shadow: 0 10px 24px rgba(25, 55, 39, .16); color: #2d4036; text-align: left; }
.table-receipt-children:hover .individual-receipts-popup, .table-receipt-children:focus-within .individual-receipts-popup, .table-receipt-children.is-open .individual-receipts-popup { display: block; }
.individual-receipts-popup > strong { display: block; margin-bottom: 6px; font-size: 11px; }
.individual-receipts-popup ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.individual-receipts-popup li { padding: 4px 6px; border-radius: 5px; background: #f4f7f5; font-size: 11px; font-weight: 750; white-space: nowrap; }
.individual-receipts-popup > small { display: block; margin-top: 7px; color: #7b8981; font-size: 9px; }
.table-record-select { display: flex; flex-direction: row; align-items: center; gap: 6px; width: fit-content; margin: 0; color: inherit; font-size: inherit; font-weight: inherit; white-space: nowrap; cursor: pointer; }
.table-record-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.as-status-badge { display: inline-flex; align-items: center; width: fit-content; padding: 4px 8px; border: 1px solid transparent; border-radius: 999px; background: #edf1ef; color: #43534a; font-size: 11px; font-weight: 800; line-height: 1.3; }
.as-status-badge.status-접수 { border-color: #d3dcd7; background: #edf1ef; color: #43534a; }
.as-status-badge.status-점검중 { border-color: #afd7bf; background: #e6f5ec; color: #216542; }
.as-status-badge.status-선발송 { border-color: #a9cbea; background: #e8f3fc; color: #235d8d; }
.as-status-badge.status-풀필먼트발송 { border-color: #c7b8e8; background: #f1ecfb; color: #5d448e; }
.as-status-badge.status-완료 { border-color: #efcc8e; background: #fff3dc; color: #80540d; }
.as-status-badge.status-mixed { border-color: #c8bae7; background: #f0ebfa; color: #5b438b; white-space: normal; }
.record-more-toggle.table-more-toggle { padding: 6px 8px; }
.table-group-summary-row.is-expanded > td { border-top: 2px solid #6fa8dc; border-bottom: 0; }
.table-group-summary-row.is-expanded > td:first-child { border-left: 2px solid #6fa8dc; border-top-left-radius: 10px; }
.table-group-summary-row.is-expanded > td:last-child { border-right: 2px solid #6fa8dc; border-top-right-radius: 10px; }
.table-more-row[hidden] { display: none; }
.table-more-row td { padding: 0; background: #f6f8f7; }
.table-group-summary-row.is-expanded + .table-more-row > td { border-right: 2px solid #6fa8dc; border-bottom: 2px solid #6fa8dc; border-left: 2px solid #6fa8dc; border-radius: 0 0 10px 10px; background: white; }
.table-more-content { padding: 0; }
.table-expanded-panel { overflow: hidden; border-top: 1px solid #d8e8f5; background: white; }
.table-expanded-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 10px 7px; color: #526158; font-size: 12px; }
.table-group-report-action { flex: none; padding: 5px 9px; border: 1px solid #9fc1dc; border-radius: 6px; background: #eef6fc; color: #245f8e; font-size: 11px; text-decoration: none; }
.table-group-report-action:hover { background: #e0f0fb; }
.table-more-products-head, .table-more-products section { display: grid; grid-template-columns: minmax(210px, 1.5fr) .4fr 1fr .65fr .5fr; align-items: center; gap: 12px; }
.table-more-products-head { padding: 7px 10px; border-top: 1px solid #d8e8f5; border-bottom: 1px solid #d8e8f5; background: #f8faf9; color: #76837c; font-size: 10px; font-weight: 750; }
.table-product-groups, .intake-product-groups { display: grid; gap: 7px; }
.table-product-groups { padding: 0 8px 8px; }
.table-product-group, .intake-product-group { overflow: hidden; border: 1px solid #d7e2e8; border-radius: 8px; background: white; }
.table-product-group > summary, .intake-product-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 7px 10px; cursor: pointer; list-style-position: inside; }
.table-product-group > summary { display: grid; grid-template-columns: minmax(240px, .8fr) minmax(240px, 1.4fr) auto; }
.table-product-group > summary span, .intake-product-group > summary span { display: inline-grid; gap: 1px; min-width: 0; }
.table-product-group > summary strong, .intake-product-group > summary strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.table-product-group > summary small, .intake-product-group > summary small { color: #697871; font-size: 11px; }
.table-product-group > summary b, .intake-product-group > summary b { flex: none; color: #40584b; font-size: 11px; white-space: nowrap; }
.table-product-group > summary .product-group-symptoms { display: flex; flex-wrap: nowrap; align-items: center; gap: 5px; min-width: 0; overflow: hidden; }
.table-product-group > summary .product-symptom-badge { display: inline-block; overflow: hidden; max-width: 150px; padding: 3px 7px; border-radius: 999px; background: #dfeee6; color: #28553d; font-size: 11px; font-style: normal; font-weight: 750; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.table-product-group > summary .product-symptom-badge.more { flex: none; background: #dbe8f1; color: #245f8e; }
.product-group-tone-a > summary { background: #f7fafc; }
.product-group-tone-b > summary { background: #e8f0f5; }
.table-more-products { display: grid; }
.table-more-products section { padding: 8px 10px; border-bottom: 1px solid #d8e8f5; background: white; }
.table-more-products section.product-group-tone-a { background: #f7fafc; }
.table-more-products section.product-group-tone-b { background: #e8f0f5; }
.table-more-products section:hover, .table-more-products section:focus-within { background: #eaf7d6; }
.table-more-products section > span { min-width: 0; overflow-wrap: anywhere; }
.table-group-item-identity { display: grid; gap: 3px; min-width: 0; }
.table-group-item-identity > strong { min-width: 0; overflow-wrap: anywhere; color: #263d31; font-size: 12px; }
.table-group-item-identity > small { color: #65746c; }
.table-item-detail-action { width: fit-content; padding: 4px 8px; border-radius: 6px; background: #23724a; color: white !important; font-size: 11px; text-decoration: none; }
.table-item-detail-action:hover { background: #195d3b; }
.table-more-details { display: grid; grid-template-columns: 1fr 1.35fr .7fr; gap: 0; margin: 0; padding: 10px 14px; }
.table-expanded-panel .table-more-details { background: #f8faf9; }
.table-more-details div { min-width: 0; padding-right: 16px; }
.table-more-details dt { display: inline; margin-right: 7px; color: #738078; font-size: 12px; }
.table-more-details dd { display: inline; margin: 0; overflow-wrap: anywhere; font-size: 13px; font-weight: 700; }
.muted { color: #89958e; }
.badge { display: inline-block; margin: 2px 3px; padding: 3px 7px; border-radius: 999px; background: #e4eee8; color: #28553d; font-size: 12px; white-space: nowrap; }
.customer-type-badge.customer-type-b2c { background: #e2eef7; color: #245f8e; }
.badge.warn { background: #fff0d6; color: #815510; }
.empty { padding: 44px; text-align: center; color: #738078; }
.pagination { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 18px; }
.record-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.record-card { display: flex; overflow: hidden; flex-direction: column; border: 1px solid #dce5df; border-radius: 16px; background: white; box-shadow: 0 8px 24px rgba(24, 56, 39, .07); }
.record-photo { position: relative; display: block; height: 210px; overflow: hidden; background: #e8eeea; }
.record-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.record-photo video { display: block; width: 100%; height: 100%; object-fit: contain; background: #101512; }
.record-photo:hover img { transform: scale(1.025); }
.record-photo > span { position: absolute; right: 10px; bottom: 10px; padding: 5px 9px; border-radius: 999px; background: rgba(20, 58, 41, .86); color: white; font-size: 12px; font-weight: 750; }
.record-photo.video-photo > span { top: 10px; bottom: auto; pointer-events: none; }
.record-photo.empty-photo { display: grid; place-items: center; color: #7a8880; }
.record-photo.empty-photo > span { position: static; background: transparent; color: inherit; }
.record-card-body { display: flex; flex: 1; flex-direction: column; padding: 17px; }
.record-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.record-card-heading > div { min-width: 0; }
.record-card-heading > .record-card-badges { display: grid; flex: 0 0 auto; min-width: 96px; min-height: 58px; align-content: start; justify-items: end; gap: 5px; }
.record-card-badges .badge { margin: 0; }
.record-card-badges .as-status-badge { max-width: 112px; font-size: 10px; white-space: nowrap; }
.record-card-heading small { display: block; margin-bottom: 4px; color: #78857d; }
.record-card-select { display: flex; flex-direction: row; align-items: center; gap: 6px; width: fit-content; margin-bottom: 6px; color: #78857d; font-size: 11px; font-weight: 600; cursor: pointer; }
.record-card-heading a { color: #176642; font-weight: 850; text-decoration: none; }
.record-card-heading .record-card-receipt { display: -webkit-box; height: 42px; overflow: hidden; line-height: 1.5; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.record-card-receipt-line { display: flex; align-items: flex-start; gap: 4px; min-width: 0; }
.record-card-receipt-line .record-card-receipt { flex: 1; min-width: 0; }
.record-card-receipt-line .special-receipt-star { margin-top: -3px; }
.record-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 18px 0; }
.record-card dl div { min-width: 0; }
.record-card dt { margin-bottom: 3px; color: #738078; font-size: 12px; }
.record-card dd { margin: 0; overflow-wrap: anywhere; font-size: 14px; font-weight: 700; }
.record-card dd small { display: block; color: #78857d; font-weight: 400; }
.record-card .record-group-summary { grid-template-columns: 1.4fr .7fr .7fr; margin-bottom: 12px; }
.record-card-customer { overflow: hidden; overflow-wrap: normal !important; }
.record-card-customer-name, .record-card-recipient { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.record-card-recipient { height: 18px; color: #78857d; font-size: 11px; font-weight: 600 !important; line-height: 18px; }
.record-card-recipient.is-placeholder { visibility: hidden; }
.record-group-items { display: grid; gap: 8px; margin-bottom: 14px; }
.record-group-items section { padding: 11px; border: 1px solid #e1e8e3; border-radius: 9px; background: #f7faf8; }
.record-group-item-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.record-group-item-head a { color: #176642; font-size: 12px; font-weight: 800; text-decoration: none; }
.record-group-item-head span { color: #66756d; font-size: 11px; white-space: nowrap; }
.record-group-items section > strong { display: block; font-size: 14px; }
.record-group-items section > small { display: block; margin-top: 2px; color: #78857d; font-size: 11px; }
.record-group-items p { margin: 7px 0 0; color: #34483d; font-size: 13px; overflow-wrap: anywhere; }
.record-group-items .media-cell-actions { min-height: 20px; margin-top: 7px; line-height: 20px; }
.record-item-media, .record-item-media-empty { display: inline-flex; align-items: center; min-height: 20px; font-size: 12px; font-weight: 750; line-height: 20px; }
.record-item-media { color: #176642; }
.record-item-media-empty { color: #89958e; }
.record-symptom { min-height: 44px; margin: 0 0 14px; padding: 11px; border-radius: 9px; background: #f5f8f6; color: #34483d; font-size: 14px; overflow-wrap: anywhere; }
.record-detail-link { display: flex; align-items: center; justify-content: center; padding: 10px 6px; border-radius: 8px; background: #e6eee9; color: #244b37; font-size: 14px; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; white-space: nowrap; }
.record-detail-link:hover { background: #d8e6dd; }
.record-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; }
.record-report-link { display: flex; align-items: center; justify-content: center; padding: 10px 6px; border-radius: 8px; background: #23724a; color: white; font-size: 14px; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; white-space: nowrap; }
.record-report-link:hover { background: #195d3b; }
.record-more-toggle { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 5px; min-width: 0; padding: 9px 7px; border-radius: 8px; background: #eef2f0; color: #405048; font-size: 12px; cursor: pointer; }
.record-more-toggle input { width: 16px; min-height: 16px; margin: 0; accent-color: #23724a; }
.record-cards-empty { grid-column: 1 / -1; border-radius: 14px; background: white; }
.form-card, .panel { padding: 24px; border-radius: 16px; background: white; }
.intake-item-switcher { margin-bottom: 18px; padding: 18px; border-radius: 14px; background: white; }
.intake-item-switcher-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.intake-item-switcher-heading > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; }
.intake-item-switcher-heading span { color: #738078; font-size: 13px; }
.intake-item-switcher-heading .intake-total-quantity { padding: 4px 9px; border-radius: 999px; background: #e9f3ed; color: #195d3b; font-size: 13px; white-space: nowrap; }
.fixed-intake-notice { margin: 0 0 18px; padding: 14px 16px; border: 1px solid #b9d2c3; border-radius: 10px; background: #edf6f0; color: #315743; }
.fixed-intake-common { margin-bottom: 24px; padding: 18px; border: 1px solid #dce5df; border-radius: 12px; background: #f8faf9; }
.fixed-intake-common input[readonly], .fixed-intake-common select:disabled, .fixed-intake-common input:disabled { color: #52635a; background: #eef2f0; opacity: 1; cursor: not-allowed; }
.intake-item-switcher-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.intake-product-group.current { border-color: #8db79e; box-shadow: inset 0 0 0 1px #c6ddd0; }
.intake-product-group .intake-item-switcher-list { gap: 6px; padding: 7px; }
.intake-item-switch { display: grid; gap: 2px; min-width: 0; padding: 8px 9px; border: 1px solid #dce5df; border-radius: 8px; background: #f8faf9; color: #263d31; text-decoration: none; }
.intake-item-switch:hover { border-color: #9bb8a7; background: #f1f7f3; }
.intake-item-switch.current { border-color: #23724a; background: #e9f3ed; box-shadow: inset 0 0 0 1px #23724a; }
.intake-item-switch > span { color: #23724a; font-size: 11px; font-weight: 800; }
.intake-item-switch > strong, .intake-item-switch > small { overflow-wrap: anywhere; }
.intake-item-switch > small { color: #68766e; font-size: 12px; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.detail-form-grid { align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.detail-form-grid > * { min-width: 0; }
.detail-form-grid .field-title { display: flex; align-items: center; gap: 5px; min-height: 22px; }
.wide { grid-column: 1 / -1; }
.required { color: #b84434; font-size: 12px; }
fieldset { margin: 0; border: 1px solid #d7dfda; border-radius: 10px; padding: 16px; }
fieldset legend { padding: 0 5px; font-weight: 800; }
.radio-row { display: flex; flex-wrap: wrap; gap: 15px; }
.radio-row label, .return-box label { flex-direction: row; align-items: center; }
.radio-row input, .return-box input { width: auto; min-height: auto; }
.return-box { padding: 16px; border-radius: 10px; background: #fff6e7; }
.return-box strong { display: block; margin-bottom: 11px; color: #754a0e; }
.return-box label { margin-top: 8px; }
.detail-core-fields { display: grid; grid-template-columns: minmax(220px, 1.5fr) minmax(70px, .45fr) minmax(105px, .7fr) minmax(130px, .85fr) minmax(130px, .9fr) minmax(180px, 1.2fr) minmax(165px, 1fr); align-items: start; gap: 12px; }
.detail-core-fields > *, .detail-shipping-cost-fields > *, .detail-result-fields > * { min-width: 0; }
.detail-core-fields #detail-additional-faults { margin-top: 29px; }
.detail-core-fields #detail-additional-faults[open] { grid-column: 1 / -1; margin-top: 0; }
.detail-shipping-cost-fields { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; padding: 12px; border: 1px solid #d7dfda; border-radius: 10px; background: #f7faf8; }
.detail-shipping-cost-fields p { grid-column: 1 / -1; margin: 0; color: #68766e; font-size: 12px; }
.detail-shipping-cost-fields input[readonly] { background: #edf2ef; color: #405048; }
.detail-result-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.form-actions { display: flex; justify-content: flex-end; margin-top: 22px; }
.reference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.reference-column-panel { display: flex; min-height: 0; flex-direction: column; }
.reference-column-panel > .compact-list { flex: 1 1 0; min-height: 600px; max-height: none; }
.fault-reference-panel { margin-top: 18px; }
.fault-create-grid, .fault-reference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.fault-create-grid { margin-bottom: 20px; }
.fault-create-form { display: grid; grid-template-columns: auto 1fr 1fr auto; gap: 8px; align-items: center; padding: 12px; border: 1px solid #e2e9e5; border-radius: 10px; background: #f8faf9; }
.fault-create-form .customer-autocomplete, .inline-create .customer-autocomplete { min-width: 0; }
.reference-create-status { grid-column: 2 / -1; margin: -2px 0 0; }
.subsection-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 42px; }
.subsection-heading h3 { margin: 0; }
.fault-search { display: flex; gap: 7px; }
.fault-search input { min-width: 0; }
.fault-standard-list, .fault-mapping-list { max-height: 720px; border-top: 1px solid #e9eeeb; }
.fault-type-edit { display: grid; grid-template-columns: 1.3fr 1fr auto auto auto; gap: 8px; align-items: center; padding-top: 10px; }
.fault-representative-edit { display: grid; grid-template-columns: 1fr auto auto auto; gap: 8px; align-items: center; padding-top: 10px; }
.fault-mapping-editor { display: grid; grid-template-columns: 1fr 1.3fr auto; gap: 9px; align-items: end; margin: 8px 0 12px; padding: 12px; border: 1px solid #cfe0d7; border-radius: 10px; background: #f5faf7; }
.fault-mapping-row { display: grid; grid-template-columns: minmax(150px, 1fr) auto; gap: 9px; align-items: center; padding: 10px 4px; border-bottom: 1px solid #e9eeeb; }
.fault-mapping-row div { display: grid; gap: 4px; min-width: 0; }
.fault-mapping-row strong { overflow-wrap: anywhere; }
.fault-mapping-row small { color: #738078; }
.fault-classification { margin: 2px 0 0; color: #237a58; font-size: 12px; font-weight: 700; }
.panel h2 { margin-top: 0; }
.compact-list { max-height: 600px; overflow: auto; }
.compact-list details { padding: 10px 4px; border-bottom: 1px solid #e9eeeb; }
.compact-list summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.compact-list small { color: #738078; }
.inline-create, .inline-edit { display: grid; grid-template-columns: 1fr 2fr auto; gap: 8px; align-items: end; padding: 10px 0; }
.inline-edit { margin-top: 10px; background: #f7faf8; }
.inline-edit label { flex-direction: row; align-items: center; }
.inline-edit input[type="checkbox"] { width: auto; }
.customer-edit-form { grid-template-columns: 82px minmax(150px, 1fr) auto auto; }
.customer-edit-form > input[name="customer_name"] { grid-column: 1 / -1; }
.customer-edit-form > label { white-space: nowrap; }
.customer-edit-form > label small { white-space: nowrap; }
.douzone-code-import { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(180px, 1fr) auto; gap: 8px; align-items: end; margin: 8px 0 12px; padding: 12px; border: 1px solid #cbd9e8; border-radius: 10px; background: #f3f7fc; }
.douzone-code-import div { display: grid; gap: 3px; }
.douzone-code-import strong { color: #234d88; }
.douzone-code-import small { color: #66788d; }
.reference-help { margin: -8px 0 6px; font-size: 13px; }
.product-edit-form { display: grid; grid-template-columns: 1fr 1.5fr; gap: 9px; margin-top: 10px; padding: 10px 0; background: #f7faf8; }
.product-search-keywords { grid-column: 1 / -1; }
.product-cost-field { align-items: stretch !important; flex-direction: column !important; font-size: 12px; }
.product-edit-actions { display: flex; grid-column: 1 / -1; align-items: center; justify-content: flex-end; gap: 10px; }
.product-edit-actions label { flex-direction: row; align-items: center; }
.product-edit-actions input[type="checkbox"] { width: auto; }
.intake-card { width: 100%; margin: 0; padding: 0 2px; }
.bulk-intake-tools { display: grid; gap: 12px; margin: 14px 0 22px; padding: 16px; border: 1px solid #cfded5; border-radius: 12px; background: #f5faf7; }
.bulk-intake-tools > div:first-child { display: grid; gap: 3px; }
.bulk-intake-tools > div:first-child span { color: #64736b; font-size: 13px; }
.bulk-intake-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.bulk-intake-controls input[type="file"] { flex: 1 1 280px; min-height: 42px; padding: 8px; border: 1px solid #cbd8d0; border-radius: 8px; background: white; }
.bulk-intake-result { display: grid; gap: 7px; color: #33463b; font-size: 13px; }
.bulk-intake-result:empty { display: none; }
.bulk-intake-result ul { margin: 0; padding-left: 20px; }
.bulk-recent-options { display: grid; gap: 7px; }
.bulk-recent-option { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(280px, 1.5fr) auto; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid #d7e3dc; border-radius: 8px; background: white; }
.bulk-recent-option small { color: #607168; overflow-wrap: anywhere; }
.intake-heading { display: flex; align-items: flex-start; justify-content: space-between; padding: 0 0 8px; }
.intake-heading h1 { margin: 3px 0 0; font-size: 28px; }
.intake-heading .eyebrow { margin: 0; font-size: 10px; color: #8797a7; }
.close-link { color: #718096; font-size: 28px; line-height: 1; text-decoration: none; }
.intake-common-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px; }
.intake-common-grid fieldset { padding: 0; border: 0; }
.intake-common-grid legend { margin-bottom: 7px; color: #405048; font-size: 14px; font-weight: 700; }
.intake-common-grid .order-recipient-fields, .detail-form-grid .order-recipient-fields { display: grid; gap: 14px; padding: 16px; border: 1px solid #d7e2dc; border-radius: 12px; background: #f8faf9; }
.order-recipient-fields legend { padding: 0 6px; color: #405048; font-size: 14px; font-weight: 700; }
.order-recipient-fields legend small { margin-left: 5px; color: #738078; font-weight: 500; }
.intake-contact-row, .intake-address-row { display: grid; gap: 18px; }
.intake-contact-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.intake-address-row { grid-template-columns: minmax(150px, .45fr) minmax(0, 1.55fr); }
.segment-buttons { display: flex; gap: 8px; }
.customer-type-controls { display: flex; align-items: center; gap: 8px; }
.intake-star-toggle { position: relative; display: grid; flex: 0 0 48px; place-items: center; gap: 0; min-width: 48px; min-height: 42px; border: 1px solid #c9d3df; border-radius: 8px; background: #f8faf9; cursor: pointer; }
.intake-star-toggle input { position: absolute; width: 1px; min-height: 1px; opacity: 0; }
.intake-star-toggle > span { color: #b2bab5; font-size: 27px; line-height: .85; }
.intake-star-toggle > small { color: #68766e; font-size: 9px; font-weight: 750; line-height: 1; }
.intake-star-toggle:has(input:checked) { border-color: #bd8d00; background: #fff6cf; box-shadow: inset 0 0 0 1px #e2b833; }
.intake-star-toggle input:checked ~ span { color: #ffd84d; text-shadow: -1px -1px 0 #765700, 1px -1px 0 #765700, -1px 1px 0 #765700, 1px 1px 0 #765700; }
.intake-star-toggle input:focus-visible ~ span { outline: 3px solid rgba(189,141,0,.22); outline-offset: 3px; }
.segment-buttons label { display: block; flex: 0 0 78px; }
.segment-buttons input { position: absolute; opacity: 0; pointer-events: none; }
.segment-buttons span { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; padding: 8px 6px; border: 1px solid #c9d3df; border-radius: 8px; color: #52677c; text-align: center; cursor: pointer; }
.segment-buttons span::before { content: ""; display: inline-grid; place-items: center; width: 14px; height: 14px; border: 1px solid #a9b8c8; border-radius: 3px; background: #fff; color: #fff; font-size: 10px; font-weight: 800; line-height: 1; }
.segment-buttons input:checked + span { border-color: #2578ff; background: #edf5ff; color: #145ec7; box-shadow: inset 0 0 0 1px #2578ff; }
.segment-buttons input:checked + span::before { content: "✓"; border-color: #2578ff; background: #2578ff; }
.segment-buttons input:focus-visible + span { outline: 3px solid rgba(37, 120, 255, .25); outline-offset: 2px; }
.customer-search-field > label { margin-bottom: 7px; }
.customer-field-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 22px; margin-bottom: 7px; }
.customer-field-heading label { margin: 0; }
.customer-identity-fields { display: grid; grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr); gap: 12px; align-items: end; }
.customer-field-actions { display: flex; align-items: center; gap: 12px; }
.customer-create-open { border: 0; padding: 3px 0; background: transparent; color: #176642; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.customer-create-open:hover { text-decoration: underline; }
.customer-search-field input[readonly] { background: #edf2ef; color: #405048; cursor: default; }
.detail-customer-create-button { border: 1px solid #23724a; border-radius: 6px; padding: 2px 8px; background: #23724a; color: white; font: inherit; font-size: 12px; font-weight: 800; line-height: 1.35; cursor: pointer; }
.detail-customer-create-button:hover { background: #195d3b; }
.detail-customer-create-button:focus-visible { outline: 3px solid rgba(35,114,74,.2); outline-offset: 2px; }
.customer-autocomplete { position: relative; }
.product-autocomplete { position: relative; }
.product-code-field { display: flex; flex-direction: column; gap: 7px; color: #405048; font-size: 14px; font-weight: 700; }
.product-code-field small { color: #738078; font-weight: 400; }
.product-autocomplete .product-suggestions { min-width: min(520px, calc(100vw - 48px)); }
.customer-suggestions { position: absolute; z-index: 20; top: calc(100% + 4px); right: 0; left: 0; max-height: 260px; overflow-y: auto; border: 1px solid #bfcac3; border-radius: 9px; background: white; box-shadow: 0 12px 28px rgba(24, 56, 39, .16); }
.customer-suggestions[hidden] { display: none; }
.customer-suggestions button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 10px 12px; border: 0; border-bottom: 1px solid #edf1ee; background: white; color: #243c30; font: inherit; text-align: left; cursor: pointer; }
.customer-suggestions button:last-child { border-bottom: 0; }
.customer-suggestions button:hover, .customer-suggestions button.active { background: #e8f1eb; }
.customer-suggestions small { color: #68766e; font-size: 12px; }
.customer-selection-status, .customer-duplicate-status { display: block; margin: 6px 0 0; color: #738078; font-size: 12px; font-weight: 500; }
.customer-selection-status.valid { color: #176642; font-weight: 750; }
.recent-contact-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 5px 14px; margin-top: 10px; padding: 12px 14px; border: 1px solid #b9d2c3; border-radius: 10px; background: #edf6f0; }
.recent-contact-panel[hidden] { display: none; }
.recent-contact-panel > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; min-width: 0; }
.recent-contact-panel strong { color: #315743; font-size: 13px; }
.recent-contact-panel small { color: #68766e; }
.recent-contact-panel p { grid-column: 1; margin: 0; overflow: hidden; color: #405048; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.recent-contact-panel button { grid-column: 2; grid-row: 1 / span 2; }
.recent-contact-panel.loaded { border-color: #8fbaa0; background: #e5f2e9; }
.customer-duplicate-status.duplicate { color: #a33c2e; font-weight: 750; }
.customer-create-dialog { width: min(440px, calc(100% - 32px)); border: 0; border-radius: 16px; padding: 0; color: #18251f; box-shadow: 0 24px 70px rgba(16, 43, 29, .28); }
.customer-create-dialog::backdrop { background: rgba(19, 40, 29, .48); }
.customer-create-dialog form { display: grid; gap: 16px; padding: 22px; }
.dialog-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dialog-heading h2 { margin: 0; }
.dialog-close { border: 0; padding: 0 4px; background: transparent; color: #718078; font-size: 26px; cursor: pointer; }
.dialog-help { margin: -4px 0 0; color: #68766e; font-size: 13px; line-height: 1.5; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 8px; }
.dialog-actions .button.secondary { margin: 0; }
.customer-reference-create { position: relative; }
.customer-reference-create { grid-template-columns: 82px minmax(150px, 1fr) auto; }
.customer-reference-create > .customer-autocomplete { grid-column: 1 / -1; width: 100%; }
#reference-customer-suggestions button:not(.customer-full-results) { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
#reference-customer-suggestions button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#reference-customer-suggestions button small { white-space: nowrap; }
#reference-customer-suggestions .customer-full-results { justify-content: center; background: #f1f7f3; color: #176642; font-weight: 800; text-align: center; }
.customer-search-summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 10px 0; padding: 9px 11px; border-radius: 8px; background: #edf5f0; color: #52645a; font-size: 12px; }
.customer-search-summary a { flex: none; color: #176642; font-weight: 800; }
.customer-status-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 10px 0; }
.customer-status-tabs a { padding: 8px 6px; border: 1px solid #cbd8d1; border-radius: 8px; background: #fff; color: #52645a; text-align: center; text-decoration: none; }
.customer-status-tabs a.selected { border-color: #23724a; background: #23724a; color: #fff; }
.customer-status-tabs strong { margin-left: 3px; }
.customer-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 12px; }
.customer-pagination .button { margin: 0; }
.customer-pagination span { color: #68766e; font-size: 13px; font-weight: 700; }
.detail-customer-field { min-width: 0; }
.shipping-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.items-heading { display: flex; align-items: center; justify-content: space-between; margin: 30px 0 10px; }
.items-heading strong { font-size: 18px; }
.count-pill { margin-left: 8px; padding: 3px 8px; border-radius: 999px; background: #dbeafe; color: #285d9f; font-size: 12px; }
.button.compact { padding: 8px 12px; font-size: 13px; }
.product-item { margin-bottom: 10px; padding: 12px; border: 1px solid #cbd8e7; border-radius: 12px; background: #f8fbff; }
.product-item-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 9px; }
.product-item-heading strong { color: #25435f; }
.remove-item { border: 0; background: transparent; color: #8290a0; cursor: pointer; }
.remove-item:disabled { opacity: .35; cursor: default; }
.product-item-grid { display: grid; grid-template-columns: minmax(145px, 1.05fr) minmax(185px, 1.35fr) minmax(88px, .5fr) minmax(82px, .46fr) minmax(190px, 1.2fr) minmax(175px, 1.05fr); align-items: start; gap: 10px; }
.product-item-grid > * { min-width: 0; }
.item-quantity-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.item-quantity-field .button { width: 100%; margin: 0; white-space: nowrap; }
.item-quantity-field .split-item[hidden] { display: none; }
.distribution-status { color: #23724a; font-size: 12px; font-weight: 750; text-align: center; }
.distribution-status.error { color: #b42318; }
.items-bottom-actions { display: flex; justify-content: flex-end; margin: 4px 0 20px; }
.unknown-payment-field { display: flex; flex-direction: column; gap: 7px; }
.unknown-payment-field[hidden] { display: none; }
.unknown-payment-field .special-payment-title { display: block; color: #405048; font-size: 14px; font-weight: 700; }
.item-fault, .item-serial { grid-column: auto; }
.item-remarks { grid-column: 1 / -1; }
.serial-history-status { display: grid; gap: 3px; margin-top: 5px; color: #738078; font-size: 12px; font-weight: 600; }
.serial-history-status.warning { padding: 9px 10px; border: 1px solid #e8c98d; border-radius: 8px; background: #fff8e9; color: #7b5312; }
.serial-history-status.clear { color: #23724a; }
.serial-history-status a { color: inherit; font-weight: 650; text-decoration: underline; }
.item-additional-fault { grid-column: auto; margin-top: 27px; }
.item-additional-fault[open] { grid-column: 1 / -1; margin-top: 0; }
.additional-fault-picker { overflow: hidden; border: 1px solid #cad7e3; border-radius: 9px; background: #fff; }
.additional-fault-picker > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 42px; padding: 9px 10px; color: #324c3f; font-weight: 750; cursor: pointer; }
.additional-fault-picker > summary span { color: #23724a; font-size: 12px; }
.additional-fault-picker.disabled { background: #f1f4f2; opacity: .72; }
.additional-fault-picker.disabled > summary { cursor: default; }
.additional-fault-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-height: 320px; overflow: auto; padding: 12px; border-top: 1px solid #e3e9e5; }
.additional-fault-options fieldset { min-width: 0; padding: 10px; border: 1px solid #e1e8e4; border-radius: 8px; }
.additional-fault-options legend { color: #23724a; font-size: 12px; }
.additional-fault-options label { flex-direction: row; align-items: flex-start; gap: 7px; padding: 4px 0; font-size: 13px; font-weight: 600; }
.additional-fault-options input[type="checkbox"] { flex: 0 0 auto; width: auto; min-height: auto; margin-top: 2px; }
.product-status.valid { color: #1d7a48; }
.item-photo-fields { display: grid; grid-template-columns: .7fr 1.5fr; gap: 10px; margin-top: 9px; padding-top: 9px; border-top: 1px dashed #cad7e3; }
.intake-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
.intake-actions .button.secondary { margin: 0; }
.save-button { background: #2478ff; box-shadow: 0 7px 18px rgba(36,120,255,.2); }
.save-button:hover { background: #1565dd; }
.save-button:disabled { opacity: .6; cursor: wait; }
.media-panel { margin-top: 18px; }
.media-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.media-panel-heading h2 { margin: 3px 0 0; }
.media-panel-heading .eyebrow { margin: 0; }
.media-panel-heading > span { padding: 5px 10px; border-radius: 999px; background: #e7efe9; color: #315743; font-size: 12px; font-weight: 800; }
.media-upload-form { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; align-items: end; gap: 12px; margin-top: 18px; padding: 15px; border-radius: 10px; background: #f4f8f5; }
.media-upload-form .button { min-height: 44px; }
.media-upload-form select, .media-upload-form input[type="file"] { min-height: 44px; }
.media-file-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 10px; min-height: 20px; }
.media-file-heading small { margin: 0; font-size: 12px; }
.media-upload-status { min-height: 20px; margin: 10px 0; color: #23724a; font-size: 13px; font-weight: 700; }
.detail-media-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.detail-media-item { overflow: hidden; border: 1px solid #dce5df; border-radius: 10px; background: #fff; }
.detail-media-preview { position: relative; display: block; height: 145px; overflow: hidden; background: #152019; }
.detail-media-preview img, .detail-media-preview video { display: block; width: 100%; height: 100%; object-fit: contain; }
.detail-media-preview > span { position: absolute; right: 8px; bottom: 8px; padding: 4px 8px; border-radius: 999px; background: rgba(21,52,37,.86); color: white; font-size: 11px; font-weight: 800; }
.detail-media-preview .pdf-preview-mark { position: static; display: grid; width: 100%; height: 100%; place-items: center; border-radius: 0; background: #eef3f0; color: #9b3f32; font-size: 28px; letter-spacing: .08em; }
.detail-media-info { min-width: 0; padding: 10px 11px 7px; }
.detail-media-info strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.detail-media-info small { display: block; margin-top: 4px; color: #748078; }
.detail-media-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; padding: 0 11px 11px; }
.detail-media-actions a, .detail-media-actions button { border: 1px solid #cbd8d0; border-radius: 7px; padding: 7px; background: #eef4f0; color: #28513b; font: inherit; font-size: 12px; font-weight: 800; text-align: center; text-decoration: none; cursor: pointer; }
.detail-media-actions .media-delete-button { border-color: #ead0cb; background: #fff0ed; color: #9b3f32; }
.detail-media-empty { grid-column: 1 / -1; margin: 0; }
.media-cell-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.media-manage-link { color: #176642; font-size: 12px; font-weight: 750; white-space: nowrap; }
.report-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.report-toolbar > div { display: flex; align-items: center; gap: 12px; color: #66736c; }
.report-toolbar .button:disabled { opacity: .45; cursor: not-allowed; }
.report-email-button { background: #2c63ad; }
.report-email-button:hover { background: #214f8e; }
.report-email-dialog { width: min(500px, calc(100% - 32px)); }
.report-email-dialog label { display: grid; gap: 7px; font-weight: 800; }
.report-email-notice { display: grid; gap: 5px; padding: 14px; border: 1px solid #c9d9e9; border-radius: 10px; background: #f2f7fc; color: #466176; font-size: 13px; line-height: 1.45; }
.report-email-notice strong { color: #244d70; }
.dashboard-report { display: grid; gap: 24px; }
.dashboard-report-page { position: relative; width: 210mm; min-height: 297mm; margin: 0 auto; padding: 11mm 12mm 14mm; overflow: hidden; background: white; color: #14271d; box-shadow: 0 8px 28px rgba(24, 56, 39, .1); print-color-adjust: exact; -webkit-print-color-adjust: exact; }
.dashboard-report-page-one { display: grid; grid-template-rows: auto auto auto minmax(250px, 1fr) auto auto; gap: 10px; }
.dashboard-report-page-one > .dashboard-report-block, .dashboard-report-page-one > .dashboard-report-two-column .dashboard-report-block { margin-top: 0; }
.dashboard-report-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 0 0 11px; border-bottom: 2px solid #173d2b; }
.dashboard-report-head p, .dashboard-report-title p { margin: 0; color: #23724a; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.dashboard-report-head h1 { margin: 3px 0 0; font-size: 25px; }
.dashboard-report-head dl { display: grid; grid-template-columns: auto auto; gap: 5px 18px; margin: 0; }
.dashboard-report-head dl div { display: contents; }
.dashboard-report-head dt { color: #78857d; font-size: 9px; }
.dashboard-report-head dd { margin: 0; font-size: 10px; font-weight: 800; text-align: right; }
.dashboard-report-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-top: 10px; }
.dashboard-report-kpis article { min-width: 0; padding: 9px 10px; border: 1px solid #dce5df; border-radius: 8px; background: #f7faf8; }
.dashboard-report-kpis span, .dashboard-report-kpis small { display: block; color: #68766e; font-size: 9px; }
.dashboard-report-kpis strong { display: block; margin: 4px 0 2px; font-size: 16px; white-space: nowrap; }
.dashboard-report-block { margin-top: 9px; padding: 9px 10px; border: 1px solid #dce5df; border-radius: 8px; break-inside: avoid; }
.dashboard-report-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.dashboard-report-title h2 { margin: 2px 0 0; font-size: 13px; }
.dashboard-report-title > span { color: #6b786f; font-size: 8px; font-weight: 700; }
.dashboard-report-title > strong { color: #a43a2f; font-size: 14px; }
.dashboard-report-rate-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.dashboard-report-rate-grid article { padding: 7px 8px; border-radius: 6px; background: #f3f7f4; }
.dashboard-report-rate-grid span, .dashboard-report-rate-grid small { display: block; color: #68766e; font-size: 8px; }
.dashboard-report-rate-grid strong { display: block; margin: 2px 0; color: #176642; font-size: 15px; }
.dashboard-report-trend { display: grid; grid-template-columns: 27px minmax(0, 1fr); height: 122px; margin-top: 3px; }
.dashboard-report-y-axis { position: relative; height: 96px; border-right: 1px solid #9aaba1; }
.dashboard-report-y-axis span { position: absolute; right: 4px; transform: translateY(50%); color: #718078; font-size: 7px; }
.dashboard-report-plot { position: relative; min-width: 0; height: 122px; }
.dashboard-report-gridlines { position: absolute; inset: 0 0 26px; }
.dashboard-report-gridlines i { position: absolute; left: 0; width: 100%; border-top: 1px solid #e7ece9; }
.dashboard-report-columns { position: absolute; inset: 0; display: grid; gap: 1px; min-width: 0; }
.dashboard-report-columns > div { display: grid; grid-template-rows: 96px 18px; min-width: 0; }
.dashboard-report-columns section { display: flex; align-items: end; justify-content: center; gap: 1px; height: 96px; padding: 0 1px; }
.dashboard-report-columns section i { width: min(7px, 42%); min-height: 2px; border-radius: 2px 2px 0 0; }
.dashboard-report-columns section .b2b, .dashboard-report-legend .b2b { background: #163d67; }
.dashboard-report-columns section .b2c, .dashboard-report-legend .b2c { background: #00a680; }
.dashboard-report-columns span { overflow: hidden; padding-top: 3px; color: #637168; font-size: 6px; text-align: center; white-space: nowrap; }
.dashboard-report-legend { display: flex; align-items: center; justify-content: flex-end; min-height: 14px; gap: 12px; margin: 2px 2px 0; color: #65736b; font-size: 8px; line-height: 1; }
.dashboard-report-legend span { display: flex; align-items: center; gap: 4px; }
.dashboard-report-legend i { display: inline-block; width: 7px; height: 7px; border-radius: 2px; }
.dashboard-report-page-one .dashboard-report-trend-block { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; }
.dashboard-report-page-one .dashboard-report-trend { height: 100%; min-height: 190px; }
.dashboard-report-page-one .dashboard-report-y-axis { height: calc(100% - 26px); }
.dashboard-report-page-one .dashboard-report-plot { height: 100%; }
.dashboard-report-page-one .dashboard-report-columns > div { grid-template-rows: minmax(0, 1fr) 18px; }
.dashboard-report-page-one .dashboard-report-columns section { height: 100%; }
.dashboard-report-trend-highlights { display: grid; grid-template-columns: .8fr .8fr 1.4fr; gap: 6px; margin-top: 7px; }
.dashboard-report-trend-highlights article { min-width: 0; padding: 7px 9px; border-radius: 6px; background: #f3f7f4; }
.dashboard-report-trend-highlights span, .dashboard-report-trend-highlights small { display: block; color: #68766e; font-size: 7px; }
.dashboard-report-trend-highlights strong { display: block; overflow: hidden; margin: 3px 0 2px; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-report-two-column, .dashboard-report-rank-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dashboard-report-channel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.dashboard-report-channel-grid article { padding: 6px 7px; border-radius: 6px; background: #f4f8f5; }
.dashboard-report-channel-grid article > strong { font-size: 10px; }
.dashboard-report-channel-grid dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; margin: 5px 0 0; }
.dashboard-report-channel-grid dt { color: #78857d; font-size: 7px; }
.dashboard-report-channel-grid dd { margin: 2px 0 0; font-size: 9px; font-weight: 800; }
.dashboard-report-channel-average { display: flex; align-items: center; justify-content: space-between; gap: 5px; margin: 5px 0 0; padding-top: 4px; border-top: 1px solid #dfe7e2; white-space: nowrap; }
.dashboard-report-channel-average span { color: #78857d; font-size: 6px; }
.dashboard-report-channel-average strong { color: #263d31; font-size: 6px; }
.dashboard-report-loss { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin: 0; }
.dashboard-report-loss div { display: flex; justify-content: space-between; gap: 5px; padding: 5px 6px; background: #f7f9f8; }
.dashboard-report-loss dt { color: #68766e; font-size: 8px; }
.dashboard-report-loss dd { margin: 0; font-size: 8px; font-weight: 850; }
.dashboard-report-families > div:last-child { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
.dashboard-report-families article { min-width: 0; padding: 6px 7px; border-left: 3px solid #23724a; background: #f3f7f4; }
.dashboard-report-families span, .dashboard-report-families small { display: block; overflow: hidden; color: #647169; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-report-families strong { display: block; margin: 2px 0; font-size: 11px; }
.dashboard-report-footer { position: absolute; right: 12mm; bottom: 7mm; left: 12mm; display: flex; justify-content: space-between; padding-top: 5px; border-top: 1px solid #dce3df; color: #748078; font-size: 8px; }
.dashboard-report-rank-grid > .dashboard-report-block { display: flex; flex-direction: column; min-width: 0; }
.dashboard-report-ranking { margin: 0; padding: 0; list-style: none; }
.dashboard-report-ranking li { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 7px; min-height: 33px; padding: 4px 0; border-bottom: 1px solid #e5eae7; }
.dashboard-report-ranking li:last-child { border-bottom: 0; }
.dashboard-report-ranking li > b { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 6px; background: #eaf1ed; color: #27583d; font-size: 8px; }
.dashboard-report-ranking li > span { min-width: 0; overflow: hidden; font-size: 9px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-report-ranking small { display: block; margin-top: 2px; color: #78857d; font-size: 7px; font-weight: 500; }
.dashboard-report-ranking li > strong { color: #d33b2f; font-size: 9px; white-space: nowrap; }
.dashboard-report-ranking .empty { display: block; min-height: 0; padding: 18px; color: #78857d; text-align: center; }
.dashboard-report-loss-ranking li { min-height: 62px; }
.dashboard-report-loss-ranking li > span { white-space: normal; }
.dashboard-report-loss-ranking li > span > small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-report-cost-summary > div:last-child { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.dashboard-report-cost-summary article { padding: 8px; border-radius: 6px; background: #f5f8f6; }
.dashboard-report-cost-summary article span { display: block; color: #68766e; font-size: 8px; }
.dashboard-report-cost-summary article strong { display: block; margin-top: 4px; font-size: 10px; }
.dashboard-report-rules ul { display: grid; gap: 5px; margin: 0; padding-left: 15px; color: #526158; font-size: 8px; line-height: 1.45; }
.dashboard-report-error { max-width: 680px; margin: 50px auto; padding: 36px; border-radius: 16px; background: white; text-align: center; }
.dashboard-report-error h1 { font-size: 30px; }
.dashboard-report-error > p:not(.eyebrow) { margin: 0 0 22px; color: #66736c; }
.customer-report { max-width: 920px; margin: 0 auto; padding: 42px; border-radius: 12px; background: white; box-shadow: 0 8px 28px rgba(24, 56, 39, .08); }
.customer-report-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 0 0 24px; border-bottom: 2px solid #173d2b; }
.customer-report-head h1 { margin: 5px 0 0; font-size: 36px; }
.customer-report-head .eyebrow { margin: 0; }
.customer-report-head dl { min-width: 180px; margin: 0; }
.customer-report dl { margin: 0; }
.customer-report dt { color: #6f7c74; font-size: 12px; }
.customer-report dd { margin: 4px 0 0; color: #18251f; font-weight: 700; white-space: pre-line; }
.report-summary { margin-top: 24px; padding: 20px; border-radius: 10px; background: #f3f7f4; }
.report-summary dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.report-items, .report-photos { margin-top: 32px; }
.report-items h2, .report-photos h2 { margin: 0 0 14px; font-size: 20px; }
.report-item { margin-bottom: 14px; border: 1px solid #d7e0da; border-radius: 10px; break-inside: avoid; }
.report-item-title { display: flex; justify-content: space-between; gap: 16px; padding: 13px 16px; border-bottom: 1px solid #dfe6e1; background: #f8faf8; }
.report-item-title span { color: #637168; font-size: 13px; }
.report-item dl { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.report-item dl > div { min-height: 68px; padding: 13px 16px; border-bottom: 1px solid #edf0ee; }
.report-item .report-wide { grid-column: 1 / -1; }
.report-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.report-section-heading span { color: #68766e; font-size: 13px; }
.report-photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.report-photo-option { position: relative; overflow: hidden; border: 2px solid #d8e0db; border-radius: 9px; background: #f6f8f7; cursor: pointer; }
.report-photo-option.selected { border-color: #23724a; box-shadow: 0 0 0 2px rgba(35, 114, 74, .13); }
.report-photo-option input { position: absolute; z-index: 1; top: 9px; left: 9px; width: 20px; min-height: 20px; accent-color: #23724a; }
.report-photo-option img { display: block; width: 100%; height: 170px; object-fit: cover; }
.report-photo-option span { padding: 9px; overflow-wrap: anywhere; font-size: 12px; font-weight: 600; }
.customer-report-footer { margin-top: 34px; padding-top: 16px; border-top: 1px solid #dce3df; color: #6d7972; text-align: center; font-size: 12px; }
.admin-layout { display: grid; gap: 20px; }
.admin-section-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; padding: 8px; border: 1px solid #d6e0da; border-radius: 12px; background: white; box-shadow: 0 8px 24px rgba(24, 56, 39, .05); }
.admin-section-nav a { display: grid; gap: 3px; min-width: 0; border-radius: 9px; padding: 10px 11px; color: #33483c; text-align: center; text-decoration: none; }
.admin-section-nav a:hover { background: #eef5f1; color: #176642; }
.admin-section-nav a.active { background: #23724a; color: white; box-shadow: 0 4px 10px rgba(35, 114, 74, .18); }
.admin-section-nav strong { font-size: 13px; }
.admin-section-nav span { overflow: hidden; color: #7a877f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.admin-section-nav a.active span { color: #dceee4; }
.admin-content { min-width: 0; }
.admin-content > .page-head, .admin-content > .page-header { padding: 2px 2px 24px; }
.admin-content > .page-head p, .admin-content > .page-header .description { margin-bottom: 0; }
.admin-content .table-wrap { overflow-x: auto; }
.admin-status-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.admin-status-grid article { display: grid; gap: 5px; min-width: 0; padding: 17px; border: 1px solid #dce5df; border-radius: 12px; background: white; }
.admin-status-grid span, .admin-status-grid small { color: #68766e; }
.admin-status-grid strong { overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.admin-status-grid .status-good { color: #176642; }
.admin-status-grid .status-warn { color: #9a6313; }
.admin-user-create { display: grid; grid-template-columns: minmax(210px, .7fr) minmax(0, 2fr); gap: 24px; margin-bottom: 18px; }
.admin-user-create h2, .admin-user-create p { margin: 0; }
.admin-user-create p { margin-top: 6px; color: #68766e; line-height: 1.5; }
.admin-users-table-wrap { overflow: visible !important; }
.admin-users-table { width: 100%; table-layout: fixed; font-size: 13px; }
.admin-users-table th, .admin-users-table td { padding: 10px 8px; overflow-wrap: anywhere; }
.admin-users-table td { vertical-align: middle; }
.admin-user-col-id { width: 11%; }
.admin-user-col-name { width: 27%; }
.admin-user-col-role { width: 17%; }
.admin-user-col-status { width: 10%; }
.admin-user-col-login { width: 15%; }
.admin-user-col-password { width: 10%; }
.admin-user-col-actions { width: 10%; }
.admin-users-table td > small { display: block; margin-top: 4px; color: #23724a; }
.admin-users-table input:not([type="hidden"]), .admin-users-table select { min-width: 0; width: 100%; padding: 8px; }
.admin-user-active { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.admin-users-table .admin-user-active input { min-width: 16px; width: 16px; min-height: 16px; }
.admin-user-actions { position: relative; }
.admin-user-actions > .button { width: 100%; padding: 8px 6px; }
.admin-user-actions details { margin-top: 8px; }
.admin-user-actions summary { color: #526158; font-size: 11px; font-weight: 750; line-height: 1.35; cursor: pointer; }
.admin-user-actions details form { position: absolute; z-index: 20; top: calc(100% + 4px); right: 0; display: grid; gap: 7px; width: 250px; padding: 12px; border: 1px solid #cbd9d0; border-radius: 9px; background: #f8faf9; box-shadow: 0 12px 28px rgba(24,61,42,.18); }
.admin-user-actions details label { display: grid; gap: 4px; color: #68766e; font-size: 11px; }
.admin-audit-filter { display: grid; gap: 12px; margin-bottom: 20px; padding: 18px; border: 1px solid #dce5df; border-radius: 12px; background: white; }
.admin-audit-fields { display: grid; grid-template-columns: 1fr 1fr 1fr 1.2fr auto auto; align-items: end; gap: 10px; }
.admin-audit-fields label { display: grid; gap: 6px; color: #526158; font-size: 12px; font-weight: 750; }
.admin-result-heading { margin: 20px 0 10px; }
.admin-result-heading h2 { margin: 0; font-size: 18px; }
.admin-audit-table { min-width: 780px; }
.admin-audit-table td { vertical-align: middle; }
.admin-audit-table td strong, .admin-audit-table td small { display: block; }
.admin-audit-table td small { margin-top: 3px; color: #7a877f; }
.smtp-settings-card { display: grid; gap: 22px; }
.smtp-secret-status { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 10px; padding: 13px 15px; border-radius: 10px; background: #f2f6f3; }
.smtp-secret-status span { padding: 4px 8px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.smtp-secret-status.configured span { background: #dceee3; color: #176642; }
.smtp-secret-status.missing span { background: #fff0d6; color: #815510; }
.smtp-secret-status small { color: #68766e; }
.smtp-settings-form { display: grid; gap: 18px; }
.smtp-enabled { display: flex; align-items: center; gap: 8px; width: fit-content; font-weight: 800; }
.smtp-enabled input { width: 18px; min-height: 18px; }
.smtp-settings-form label, .smtp-test-card label { display: grid; gap: 7px; color: #33483c; font-size: 13px; font-weight: 750; }
.smtp-settings-form .span-2 { grid-column: 1 / -1; }
.smtp-settings-form label small { color: #7a877f; font-weight: 500; }
.smtp-test-card { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: 18px; }
.smtp-test-card h2 { margin: 0 0 6px; }
.smtp-test-card p { margin: 0; color: #68766e; }
.smtp-test-card form { display: flex; align-items: end; gap: 10px; min-width: min(460px, 100%); }
.smtp-test-card label { flex: 1; }
.quality-report-controls { display: flex; align-items: center; gap: 12px; }
.quality-report-languages { display: flex; gap: 4px; padding: 4px; border-radius: 9px; background: #e6eee9; }
.quality-report-languages a, .quality-report-languages span { padding: 7px 10px; border-radius: 7px; color: #526158; font-size: 13px; font-weight: 800; text-decoration: none; }
.quality-report-languages a.active { background: white; color: #176642; box-shadow: 0 1px 5px rgba(24, 56, 39, .14); }
.quality-report-languages span { color: #8a958e; cursor: not-allowed; }
.quality-report-content { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 28px; }
.quality-report-content article { padding: 16px; border: 1px solid #dce3df; border-radius: 9px; break-inside: avoid; }
.quality-report-content h2, .quality-report-effect h2, .quality-report-records h2 { margin: 0 0 10px; font-size: 17px; }
.quality-report-content h2 small, .quality-report-records h2 small { margin-left: 6px; color: #78857d; font-size: 11px; font-weight: 600; }
.quality-report-content p { margin: 0; min-height: 42px; white-space: pre-line; line-height: 1.65; }
.quality-report-effect { margin-top: 26px; }
.quality-report-effect > p { margin: 5px 0 9px; color: #66736c; font-size: 12px; }
.quality-report-effect .report-section-heading strong { padding: 4px 8px; border-radius: 999px; background: #e6eee9; color: #28553d; font-size: 11px; }
.quality-report-effect table { border: 1px solid #dce3df; }
.quality-report-effect th, .quality-report-effect td { padding: 8px; font-size: 11px; }
.quality-report-effect td small { display: block; margin-top: 2px; color: #78857d; white-space: nowrap; }
.quality-report-effect .quality-report-effect-note { padding: 5px 7px; border-radius: 6px; background: #f3f6f4; line-height: 1.5; }
.quality-report-records { margin-top: 30px; break-inside: avoid; }
.quality-report-records .table-wrap { border: 1px solid #dce3df; }
.quality-report-records th, .quality-report-records td { padding: 10px; }
.quality-summary { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 0 0 18px; }
.quality-head-actions { display: flex; gap: 8px; }
.quality-head-actions .button.secondary { margin-left: 0; }
.quality-summary article { padding: 18px 20px; border: 1px solid #dce5df; border-radius: 12px; background: white; }
.quality-summary span { display: block; color: #68766e; font-size: 13px; }
.quality-summary strong { display: block; margin-top: 8px; color: #17482f; font-size: 28px; }
.quality-action-list { display: grid; gap: 12px; }
.quality-action-card { padding: 20px; border: 1px solid #dce5df; border-radius: 14px; background: white; }
.quality-action-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.quality-action-card-head small { color: #738078; }
.quality-action-card h2 { margin: 13px 0 7px; font-size: 20px; }
.quality-action-card h2 a { color: #183d2a; text-decoration: none; }
.quality-action-card > p { margin: 0; color: #59685f; white-space: pre-line; }
.quality-action-card dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 14px; margin: 16px 0 0; padding-top: 14px; border-top: 1px solid #e7ece9; }
.quality-action-card dt { color: #7b8880; font-size: 11px; }
.quality-action-card dd { margin: 3px 0 0; font-size: 13px; font-weight: 700; }
.quality-status { display: inline-block; padding: 5px 9px; border-radius: 999px; background: #e8f0eb; color: #28553d; font-size: 12px; font-weight: 800; }
.quality-status.status-종료 { background: #e8e9ea; color: #58615c; }
.quality-stage-flow { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; }
.quality-stage-flow li { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 45px; border: 1px solid #d7dfda; border-radius: 9px; background: #f7f9f8; color: #78857d; font-size: 13px; font-weight: 750; }
.quality-stage-flow li span { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: #e3e9e5; font-size: 11px; }
.quality-stage-flow li.done { border-color: #b9d3c2; background: #edf5f0; color: #356146; }
.quality-stage-flow li.current { border-color: #23724a; background: #23724a; color: white; }
.quality-stage-flow li.current span { background: white; color: #23724a; }
.quality-close-rule { margin: 16px 0 0; padding: 11px 13px; border-radius: 8px; background: #fff6e7; color: #754a0e; font-size: 13px; }
.quality-translation-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 14px; border: 1px solid #dfe8e2; border-radius: 10px; background: #f8faf9; }
.quality-translation-pair label { min-width: 0; }
.quality-translation-pair .field-title small { color: #7a887f; font-size: 11px; font-weight: 600; }
.quality-translation-workflow { display: grid; grid-template-columns: minmax(220px, auto) minmax(0, 1fr) auto; align-items: center; gap: 18px; margin-top: 12px; padding: 14px 16px; border: 1px solid #d9e4dc; border-radius: 10px; background: #f5f8f6; }
.quality-translation-workflow > div:first-child { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.quality-translation-workflow > div:first-child > span { color: #66756c; font-size: 12px; }
.quality-translation-workflow small { color: #758279; font-size: 11px; }
.quality-translation-workflow p { margin: 0; color: #526158; font-size: 13px; }
.translation-state { padding: 5px 9px; border-radius: 999px; background: #e6ebe8; color: #56635b; font-size: 12px; }
.translation-state.state-작성중 { background: #eaf2ff; color: #315f97; }
.translation-state.state-승인대기 { background: #fff1d8; color: #85530b; }
.translation-state.state-승인완료 { background: #def2e6; color: #17643c; }
.quality-translation-actions { white-space: nowrap; }
.form-submit-status { min-height: 20px; margin: 12px 0 0; color: #9b3f32; font-size: 13px; font-weight: 700; }
.quality-record-panel { margin-top: 18px; padding: 22px; border-radius: 14px; background: white; }
.quality-record-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.quality-record-heading .eyebrow { margin: 0; }
.quality-record-heading h2 { margin: 4px 0 0; }
.quality-record-heading > span { padding: 5px 9px; border-radius: 999px; background: #e8f0eb; color: #28553d; font-size: 12px; font-weight: 800; }
.quality-record-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: 18px; }
.quality-record-search-status { min-height: 18px; margin: 8px 0; color: #68766e; font-size: 12px; }
.quality-record-results { display: grid; gap: 6px; margin-bottom: 12px; }
.quality-record-results button { border: 1px solid #cfdbd3; border-radius: 8px; padding: 10px 12px; background: #f6f9f7; color: #244b37; font: inherit; font-size: 13px; text-align: left; cursor: pointer; }
.quality-record-results button:hover { border-color: #23724a; background: #eaf3ed; }
.quality-linked-records { display: grid; gap: 8px; }
.quality-linked-record { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: center; gap: 18px; padding: 13px 15px; border: 1px solid #e0e7e2; border-radius: 9px; }
.quality-record-summary { min-width: 0; }
.quality-linked-record strong { margin-right: 7px; }
.quality-linked-record p { margin: 5px 0 2px; color: #405048; font-size: 13px; }
.quality-linked-record small { color: #78857d; }
.quality-linked-media { display: flex; align-items: center; gap: 8px; min-width: 76px; }
.quality-related-media { position: relative; display: grid; place-items: center; width: 76px; height: 58px; overflow: hidden; border: 1px solid #d7e1da; border-radius: 10px; background: #f2f6f3; color: #28553d; text-decoration: none; }
.quality-related-media img, .quality-related-media video { width: 100%; height: 100%; object-fit: cover; }
.quality-related-media:hover { border-color: #23724a; box-shadow: 0 2px 7px rgba(24, 83, 53, .15); }
.quality-media-label { position: absolute; right: 4px; bottom: 4px; padding: 2px 5px; border-radius: 5px; background: rgba(18, 31, 24, .78); color: white; font-size: 10px; font-weight: 800; }
.quality-media-pdf { font-size: 14px; font-weight: 900; letter-spacing: .04em; }
.quality-media-empty { color: #8a958e; font-size: 12px; white-space: nowrap; }
.quality-media-more { display: grid; place-items: center; min-width: 30px; height: 30px; border-radius: 999px; background: #e8f0eb; color: #28553d; font-size: 12px; font-weight: 900; }
.quality-record-actions { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.quality-record-actions a, .quality-record-actions button { border: 0; padding: 6px 8px; background: transparent; color: #176642; font: inherit; font-size: 12px; font-weight: 800; text-decoration: underline; cursor: pointer; }
.quality-record-actions button { color: #a23c30; }
.quality-deadline-state { display: flex; align-items: center; gap: 8px; padding-top: 27px; }
.quality-deadline-state small { color: #738078; }
.quality-effect-basis { margin: 14px 0 10px; color: #526158; }
.quality-effect-basis small { margin-left: 8px; color: #78857d; }
.quality-effect-scope-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; padding: 15px; border: 1px solid #d8e4dc; border-radius: 10px; background: #f7faf8; }
.quality-effect-scope-fields legend { padding: 0 6px; color: #315642; font-weight: 800; }
.quality-effect-scope-fields legend small { margin-left: 5px; color: #78857d; font-weight: 500; }
.quality-effect-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
.quality-effect-grid > article { min-width: 0; padding: 17px; border: 1px solid #dce5df; border-radius: 11px; background: #f8faf8; }
.quality-effect-grid > .quality-effect-after { border-color: #bcd7c7; background: #f1f8f4; box-shadow: inset 0 3px 0 #2b8158; }
.quality-effect-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.quality-effect-card-head strong { font-size: 16px; }
.quality-effect-card-head small { color: #78857d; }
.quality-effect-filter { display: grid; grid-template-columns: auto minmax(0, .9fr) minmax(0, 1.1fr); align-items: end; gap: 10px; width: 100%; margin: 12px 0 14px; padding: 10px 12px; border: 1px solid #d8e4dc; border-radius: 10px; background: #f7faf8; }
.quality-effect-filter-title { align-self: center; color: #315642; font-size: 13px; white-space: nowrap; }
.quality-effect-quick { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; }
.quality-effect-quick button { min-height: 30px; border: 1px solid #d2dbd5; border-radius: 7px; padding: 5px 4px; background: #f5f8f6; color: #405048; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.quality-effect-quick button:hover { border-color: #8eaa99; background: #eaf1ed; }
.quality-effect-quick button[aria-pressed="true"] { border-color: #23724a; background: #23724a; color: white; }
.quality-effect-quick button:disabled { opacity: .45; cursor: not-allowed; }
.quality-effect-date-fields { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 8px; }
.quality-effect-date-fields label { display: grid; gap: 5px; color: #526158; font-size: 12px; font-weight: 700; }
.quality-effect-date-fields input { width: 100%; min-height: 38px; }
.quality-effect-date-fields .button { min-height: 38px; }
.quality-effect-error { margin: 10px 0; padding: 9px 11px; border-radius: 8px; background: #fff1d8; color: #85530b; font-size: 12px; }
.quality-effect-grid dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 15px 0 0; }
.quality-effect-grid dl > div { min-width: 0; padding: 10px; border: 1px solid #edf1ee; border-radius: 8px; background: white; }
.quality-effect-grid dt { color: #78857d; font-size: 11px; }
.quality-effect-grid dd { margin: 4px 0 0; font-size: 15px; font-weight: 850; }
.quality-effect-help { margin: 10px 0 0; color: #66736c; font-size: 12px; }
.quality-effect-metric-table { min-width: 820px; margin-top: 12px; background: white; }
.quality-effect-metric-table th, .quality-effect-metric-table td { padding: 9px 8px; font-size: 12px; text-align: right; }
.quality-effect-metric-table th:first-child, .quality-effect-metric-table td:first-child { text-align: left; }
.quality-effect-coverage, .quality-effect-overlap { margin: 9px 0 0; color: #58685f; font-size: 12px; }
.quality-effect-overlap { padding: 8px 10px; border-radius: 8px; background: #edf4f0; color: #315642; }
.quality-effect-empty { margin: 12px 0 0; padding: 24px; }
.quality-record-heading > .quality-effect-state { background: #e9eeeb; color: #526158; }
.quality-record-heading > .quality-effect-state.state-개선 { background: #def2e6; color: #17643c; }
.quality-record-heading > .quality-effect-state.state-부분-개선, .quality-record-heading > .quality-effect-state.state-혼재 { background: #fff1d8; color: #85530b; }
.quality-record-heading > .quality-effect-state.state-악화 { background: #fde8e5; color: #902b22; }
.quality-feedback-form { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: end; gap: 12px; margin: 18px 0; padding: 15px; border-radius: 10px; background: #f4f8f5; }
.quality-feedback-list { display: grid; gap: 9px; }
.quality-feedback-list > .quality-feedback-item { padding: 15px; border: 1px solid #e0e7e2; border-radius: 9px; }
.quality-feedback-meta, .quality-comment > div:first-child { display: flex; align-items: center; gap: 10px; }
.quality-feedback-meta > span, .quality-comment > div:first-child > span { display: flex; gap: 7px; margin-left: auto; }
.quality-feedback-meta button, .quality-comment button { border: 0; padding: 3px; background: transparent; color: #176642; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.quality-feedback-meta .quality-feedback-delete, .quality-comment .quality-comment-delete { color: #a23c30; }
.quality-feedback-list small { color: #78857d; }
.quality-feedback-content { margin: 8px 0 0; white-space: pre-line; }
.quality-feedback-edit-form, .quality-comment-edit-form { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-top: 10px; padding: 10px; border-radius: 8px; background: #f4f7f5; }
.quality-feedback-edit-form[hidden], .quality-comment-edit-form[hidden] { display: none; }
.quality-feedback-edit-form > div, .quality-comment-edit-form > div { display: flex; gap: 6px; }
.quality-comment-list { display: grid; gap: 7px; margin: 14px 0 0 18px; padding-left: 14px; border-left: 2px solid #dce7df; }
.quality-comment { padding: 9px 11px; border-radius: 8px; background: #f8faf9; }
.quality-comment p { margin: 6px 0 0; white-space: pre-line; }
.quality-comment-form { display: grid; grid-template-columns: 130px minmax(0, 1fr) auto; gap: 8px; margin: 10px 0 0 32px; }
.media-gallery-page { min-height: 100vh; background: #101713; color: white; }
.media-gallery-shell { display: grid; grid-template-rows: auto minmax(300px, 1fr) auto auto auto; gap: 14px; width: min(1100px, 100%); min-height: 100vh; margin: 0 auto; padding: 18px; }
.media-gallery-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0; }
.media-gallery-header p { margin: 0 0 3px; color: #a9c5b5; font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.media-gallery-header h1 { margin: 0; font-size: 22px; }
.media-gallery-close { width: 42px; height: 42px; border: 1px solid #496155; border-radius: 10px; background: #1c2a23; color: white; font-size: 28px; line-height: 1; cursor: pointer; }
.media-gallery-stage { position: relative; display: grid; min-height: 300px; overflow: hidden; border: 1px solid #34483e; border-radius: 14px; background: #050806; }
.media-gallery-content { display: grid; place-items: center; min-width: 0; min-height: 0; }
.media-gallery-content img, .media-gallery-content video, .media-gallery-content iframe { display: block; width: 100%; height: 100%; max-height: calc(100vh - 245px); border: 0; object-fit: contain; background: #050806; }
.media-gallery-content iframe { background: white; }
.media-gallery-error { position: absolute; left: 50%; bottom: 14px; width: min(620px, calc(100% - 28px)); margin: 0; transform: translateX(-50%); padding: 10px 13px; border-radius: 8px; background: rgba(145, 49, 38, .94); color: white; text-align: center; font-size: 13px; }
.media-gallery-info { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-width: 0; padding: 12px 14px; border-radius: 10px; background: #1a2720; }
.media-gallery-info > div { display: grid; gap: 3px; min-width: 0; }
.media-gallery-info strong { color: #aee0c3; }
.media-gallery-info span, .media-gallery-info small { overflow-wrap: anywhere; }
.media-gallery-info span { font-size: 14px; }
.media-gallery-info small { color: #a7b8af; }
.media-gallery-info a { flex: none; color: #b7e4c9; font-size: 13px; font-weight: 800; }
.media-gallery-controls { display: grid; grid-template-columns: minmax(100px, 1fr) auto minmax(100px, 1fr); align-items: center; gap: 14px; }
.media-gallery-controls button { min-height: 44px; border: 1px solid #4d685a; border-radius: 10px; background: #24372d; color: white; font: inherit; font-weight: 800; cursor: pointer; }
.media-gallery-controls button:hover:not(:disabled) { background: #31503f; }
.media-gallery-controls button:disabled { opacity: .35; cursor: default; }
.media-gallery-controls strong { min-width: 70px; text-align: center; }
.media-gallery-help { margin: -6px 0 0; color: #91a59a; font-size: 12px; text-align: center; }
@media (max-width: 1380px) and (min-width: 761px) {
  .product-item-grid { grid-template-columns: minmax(150px, 1fr) minmax(180px, 1.2fr) minmax(100px, .55fr); }
  .item-additional-fault[open], .item-remarks { grid-column: 1 / -1; }
}
@media (max-width: 1450px) and (min-width: 761px) {
  .detail-core-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .detail-core-product { grid-column: span 2; }
  .detail-shipping-cost-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .shell { width: calc(100% - 28px); padding-top: 32px; }
  .cards { grid-template-columns: repeat(2, 1fr); }
  .notice { align-items: flex-start; flex-direction: column; gap: 5px; }
  .dashboard-drilldown-summary, .dashboard-drilldown-summary > div { align-items: flex-start; flex-direction: column; }
  .page-head, .actions { align-items: flex-start; flex-direction: column; }
  .list-toolbar { align-items: flex-start; }
  .list-toolbar-start { align-items: flex-start; flex-direction: column; }
  .intake-item-switcher-heading { align-items: flex-start; flex-direction: column; }
  .form-grid, .reference-grid, .fault-create-grid, .fault-reference-grid { grid-template-columns: 1fr; }
  .admin-layout { gap: 18px; }
  .admin-section-nav { display: flex; overflow-x: auto; }
  .admin-section-nav a { flex: 0 0 auto; min-width: max-content; padding: 10px 12px; }
  .admin-section-nav span { display: none; }
  .admin-status-grid { grid-template-columns: 1fr; }
  .admin-user-create { grid-template-columns: 1fr; }
  .admin-users-table-wrap { background: transparent; }
  .admin-users-table, .admin-users-table tbody { display: block; }
  .admin-users-table colgroup, .admin-users-table thead { display: none; }
  .admin-users-table tbody { display: grid; gap: 12px; }
  .admin-users-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; padding: 14px; border: 1px solid #dce5df; border-radius: 12px; background: white; }
  .admin-users-table td { display: grid; gap: 5px; width: auto; padding: 0; border: 0; }
  .admin-users-table td::before { content: attr(data-label); color: #6a786f; font-size: 11px; font-weight: 800; }
  .admin-user-actions { grid-column: 1 / -1; grid-template-columns: 100px minmax(0, 1fr); align-items: start; }
  .admin-user-actions::before { grid-column: 1 / -1; }
  .admin-user-actions details { margin-top: 0; }
  .admin-user-actions details form { position: static; width: 100%; margin-top: 8px; box-shadow: none; }
  .admin-audit-fields { grid-template-columns: 1fr; }
  .smtp-secret-status { grid-template-columns: auto 1fr; }
  .smtp-secret-status small { grid-column: 1 / -1; }
  .smtp-test-card, .smtp-test-card form { align-items: stretch; flex-direction: column; }
  .smtp-test-card form { min-width: 0; width: 100%; }
  .wide { grid-column: auto; }
  .topbar { align-items: flex-start; flex-direction: column; padding: 8px 16px; }
  .topbar a { padding: 10px 8px; }
  .topbar-links { flex-wrap: wrap; width: 100%; gap: 6px; padding-bottom: 4px; }
  .topbar .topbar-nav-link, .topbar-user-trigger { padding: 8px 10px; }
  .topbar-user-menu { margin-left: 0; }
  .inline-create, .inline-edit, .product-edit-form, .customer-edit-form, .douzone-code-import, .account-grid { grid-template-columns: 1fr; }
  .customer-reference-create > .customer-autocomplete { grid-column: 1; }
  .customer-edit-form > input[name="customer_name"] { grid-column: 1; }
  .customer-edit-form > label, .customer-edit-form > label small { white-space: normal; }
  #reference-customer-suggestions button:not(.customer-full-results) { grid-template-columns: 1fr; }
  #reference-customer-suggestions button small { white-space: normal; }
  .reference-column-panel > .compact-list { min-height: 600px; max-height: 600px; }
  .product-edit-actions { grid-column: auto; }
  .fault-create-form, .fault-type-edit, .fault-representative-edit, .fault-mapping-editor, .fault-mapping-row { grid-template-columns: 1fr; }
  .reference-create-status { grid-column: auto; }
  .intake-common-grid, .shipping-fields, .intake-contact-row, .intake-address-row, .product-item-grid, .item-photo-fields, .media-upload-form, .customer-identity-fields, .detail-core-fields, .detail-shipping-cost-fields, .detail-result-fields { grid-template-columns: 1fr; }
  .detail-core-product, .detail-shipping-cost-fields p { grid-column: auto; }
  .detail-core-fields #detail-additional-faults { margin-top: 0; }
  .item-fault, .item-remarks { grid-column: auto; }
  .item-serial { grid-column: auto; }
  .item-additional-fault { grid-column: auto; margin-top: 0; }
  .additional-fault-options { grid-template-columns: 1fr; }
  .report-toolbar, .customer-report-head, .quality-report-controls { align-items: stretch; flex-direction: column; }
  .customer-report { padding: 24px 18px; }
  .report-summary dl, .report-item dl { grid-template-columns: 1fr; }
  .report-item .report-wide { grid-column: auto; }
  .report-photo-grid { grid-template-columns: 1fr 1fr; }
  .quality-report-content { grid-template-columns: 1fr; }
  .quality-effect-grid { grid-template-columns: 1fr; }
  .quality-effect-grid dl { grid-template-columns: 1fr 1fr; }
  .quality-effect-filter { grid-template-columns: 1fr; align-items: stretch; }
  .quality-effect-date-fields { grid-template-columns: 1fr 1fr; }
  .quality-effect-date-fields .button { grid-column: 1 / -1; }
  .quality-summary { grid-template-columns: 1fr 1fr; }
  .quality-head-actions { flex-wrap: wrap; }
  .quality-action-card dl, .quality-stage-flow { grid-template-columns: 1fr; }
  .quality-stage-flow li { justify-content: flex-start; padding: 9px 12px; }
  .quality-record-search, .quality-feedback-form, .quality-translation-pair, .quality-translation-workflow, .quality-effect-scope-fields, .quality-feedback-edit-form, .quality-comment-edit-form, .quality-comment-form { grid-template-columns: 1fr; }
  .quality-comment-list, .quality-comment-form { margin-left: 0; }
  .quality-linked-record { grid-template-columns: 1fr; align-items: flex-start; }
  .quality-deadline-state { padding-top: 0; }
  .media-gallery-shell { padding: 10px; }
  .media-gallery-info { align-items: flex-start; flex-direction: column; gap: 9px; }
  .media-gallery-content img, .media-gallery-content video, .media-gallery-content iframe { max-height: calc(100vh - 300px); }
}
@media (max-width: 420px) { .cards { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .recent-contact-panel { grid-template-columns: 1fr; }
  .recent-contact-panel p, .recent-contact-panel button { grid-column: 1; grid-row: auto; }
  .recent-contact-panel p { white-space: normal; }
  .recent-contact-panel button { justify-self: stretch; }
}
@media print {
  @page { size: A4; margin: 13mm; }
  @page quality-report-page { size: A4 portrait; margin: 10mm; }
  @page dashboard-report-page { size: A4 portrait; margin: 0; }
  :root, body { background: white; }
  .topbar, .no-print { display: none !important; }
  .shell { width: 100%; padding: 0; }
  .dashboard-report { display: block; }
  .dashboard-report-page { page: dashboard-report-page; width: 210mm; height: 297mm; min-height: 0; margin: 0; padding: 11mm 12mm 14mm; box-shadow: none; break-after: page; }
  .dashboard-report-page:last-child { break-after: auto; }
  .customer-report { max-width: none; margin: 0; padding: 0; box-shadow: none; }
  .report-photo-option:not(.selected) { display: none; }
  .report-photo-grid { grid-template-columns: repeat(2, 1fr); }
  .report-photo-option { border: 1px solid #aeb9b2; break-inside: avoid; }
  .report-photo-option img { height: 210px; }
  .quality-report { page: quality-report-page; font-size: 12px; }
  .quality-report .customer-report-head { align-items: flex-start; flex-direction: row; gap: 18px; padding: 0 0 12px; }
  .quality-report .customer-report-head h1 { margin-top: 3px; font-size: 28px; }
  .quality-report .customer-report-head .eyebrow { font-size: 10px; }
  .quality-report .customer-report-head dl { display: flex; min-width: 0; gap: 20px; }
  .quality-report .report-summary { margin-top: 11px; padding: 10px 12px; }
  .quality-report .report-summary dl { grid-template-columns: repeat(3, 1fr); gap: 9px; }
  .quality-report dt { font-size: 10px; }
  .quality-report dd { margin-top: 2px; font-size: 11px; }
  .quality-report-content { grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 12px; }
  .quality-report-content article { padding: 9px 11px; }
  .quality-report-content h2, .quality-report-effect h2, .quality-report-records h2 { margin-bottom: 6px; font-size: 13px; }
  .quality-report-content h2 small, .quality-report-records h2 small { font-size: 9px; }
  .quality-report-content p { min-height: 0; font-size: 11px; line-height: 1.4; }
  .quality-report-effect { margin-top: 10px; }
  .quality-report-effect > p { margin: 3px 0 5px; font-size: 9px; }
  .quality-report-effect th, .quality-report-effect td { padding: 4px 5px; font-size: 8px; }
  .quality-report-records { margin-top: 10px; }
  .quality-report-records th, .quality-report-records td { padding: 6px 8px; font-size: 10px; }
  .quality-report-records td small { font-size: 9px; }
  .quality-report .customer-report-footer { margin-top: 12px; padding-top: 7px; font-size: 9px; }
}
