/* 자동 생성: resources/assets.manifest와 편집 원본을 수정해 주세요. */

/* ---- resources/styles/00-foundation.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 00-foundation.css
 * 화면: 전 화면 공통
 * 수정: 색상 변수, 초기화, 기본 글꼴과 공통 HTML 요소
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

:root {
  --bg: #f4f6f8;
  --card: #fff;
  --text: #151a23;
  --muted: #667085;
  --line: #e4e7ec;
  --primary: #151a23;
  --primary2: #303846;
  --success: #137a4b;
  --danger: #b42318;
  --warning: #b54708;
  --radius: 14px;
  --shadow: 0 8px 28px rgba(16,24,40,.06);
}

* {
  box-sizing: border-box;
}

html {
  font-family: Arial,"Malgun Gothic","맑은 고딕",sans-serif;
  background: var(--bg);
  color: var(--text);
}

body {
  margin: 0;
  min-height: 100vh;
}

a {
  color: inherit;
  text-decoration: none;
}

button,input,select,textarea {
  font: inherit;
}

.topbar {
  height: 66px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  padding: 0 26px;
  position: sticky;
  top: 0;
  z-index: 20;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 800;
  font-size: 18px;
}

.brand-mark {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #111827;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 900;
}

.brand-mark.large {
  width: 50px;
  height: 50px;
  border-radius: 15px;
  font-size: 24px;
}

.nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 14px;
}

.nav a:hover {
  font-weight: 700;
}

.nav-user {
  color: var(--muted);
  padding-left: 12px;
  border-left: 1px solid var(--line);
}

.link-button {
  border: 0;
  background: none;
  cursor: pointer;
  color: var(--danger);
}

.nav-toggle {
  display: none;
  margin-left: auto;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 8px 12px;
}

.container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 30px 22px 70px;
}

.auth-container {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}

.login-card {
  width: min(430px,100%);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 34px;
  box-shadow: var(--shadow);
}

.login-brand {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-bottom: 28px;
}

.login-brand h1 {
  margin: 0 0 4px;
  font-size: 26px;
}

.login-brand p {
  margin: 0;
  color: var(--muted);
}

.page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.page-header h1 {
  font-size: 28px;
  margin: 0 0 6px;
}

.page-header p {
  margin: 0;
  color: var(--muted);
}

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  box-shadow: var(--shadow);
  margin-bottom: 20px;
}

.card.narrow {
  max-width: 650px;
}

.section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.section-title h2,.card h2 {
  margin: 0;
  font-size: 18px;
}

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
  margin-bottom: 20px;
}

.stat {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
}

.stat span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  margin-bottom: 8px;
}

.stat strong {
  font-size: 30px;
}

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-stack {
  display: grid;
  gap: 16px;
}

.form-stack.compact {
  gap: 10px;
  margin-top: 15px;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

label span {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 7px;
}

input,select,textarea {
  width: 100%;
  border: 1px solid #cfd4dc;
  border-radius: 9px;
  background: #fff;
  padding: 11px 12px;
  outline: none;
}

input:focus,select:focus,textarea:focus {
  border-color: #667085;
  box-shadow: 0 0 0 3px rgba(102,112,133,.12);
}

.check {
  display: flex;
  align-items: center;
  gap: 9px;
}

.check input {
  width: auto;
}

.check span {
  margin: 0;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  border: 1px solid #cfd4dc;
  background: #fff;
  border-radius: 9px;
  padding: 8px 14px;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
}

.btn.primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

.btn.success {
  background: var(--success);
  border-color: var(--success);
  color: #fff;
}

.btn.danger {
  background: #fff;
  border-color: #f3b4ad;
  color: var(--danger);
}

.btn.full {
  width: 100%;
}

.actions {
  display: flex;
  gap: 9px;
  justify-content: flex-end;
  margin-top: 8px;
}

.filter {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 14px;
}

.filter input,.filter select {
  max-width: 230px;
}

.alert {
  border-radius: 10px;
  padding: 13px 15px;
  margin-bottom: 18px;
  border: 1px solid;
}

.alert ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.alert.success {
  background: #ecfdf3;
  border-color: #abefc6;
  color: #067647;
}

.alert.warning {
  background: #fffaeb;
  border-color: #fedf89;
  color: #93370d;
}

.alert.danger {
  background: #fef3f2;
  border-color: #fecdca;
  color: #b42318;
}

.table-wrap {
  overflow: auto;
  padding: 0;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  font-size: 14px;
}

th {
  font-size: 12px;
  color: var(--muted);
  background: #fafafa;
}

tr:last-child td {
  border-bottom: 0;
}

.badge {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 800;
}

.badge.pending {
  background: #fff6ed;
  color: #b93815;
}

.badge.approved {
  background: #ecfdf3;
  color: #067647;
}

.badge.rejected {
  background: #fef3f2;
  color: #b42318;
}

.badge.large {
  font-size: 14px;
  padding: 8px 12px;
}

.detail-grid {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 12px;
  margin: 0;
}

.detail-grid dt {
  color: var(--muted);
  font-size: 13px;
}

.detail-grid dd {
  margin: 0;
}

.description {
  margin-top: 20px;
  padding: 16px;
  background: #f8f9fb;
  border-radius: 10px;
  white-space: pre-wrap;
}

.file-row,.list-item {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.file-row:last-child,.list-item:last-child {
  border-bottom: 0;
}

.list-item small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
}

.help-text,.empty {
  color: var(--muted);
  font-size: 13px;
}

.pagination {
  margin-top: 16px;
}

.bars {
  display: grid;
  gap: 10px;
}

.bar-row {
  display: grid;
  grid-template-columns: 70px 1fr 35px;
  gap: 10px;
  align-items: center;
  font-size: 12px;
}

.bar-track {
  height: 9px;
  background: #eef0f3;
  border-radius: 999px;
  overflow: hidden;
}

.bar-fill {
  height: 100%;
  background: #344054;
  border-radius: 999px;
}

hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 22px 0;
}

@media(max-width:800px) {
  .topbar {
    padding: 0 16px;

  }

  .nav-toggle {
    display: block;

  }

  .nav {
    display: none;
    position: absolute;
    left: 12px;
    right: 12px;
    top: 60px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    box-shadow: var(--shadow);
    padding: 16px;
    flex-direction: column;
    align-items: stretch;

  }

  .nav-open .nav {
    display: flex;

  }

  .nav-user {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding: 12px 0 0;

  }

  .container {
    padding: 20px 14px 60px;

  }

  .page-header {
    align-items: flex-start;
    flex-direction: column;

  }

  .stat-grid {
    grid-template-columns: 1fr 1fr;

  }

  .grid-2,.form-grid {
    grid-template-columns: 1fr;

  }

  .filter {
    align-items: stretch;
    flex-direction: column;

  }

  .filter input,.filter select {
    max-width: none;

  }

  table,thead,tbody,tr,th,td {
    display: block;

  }

  thead {
    display: none;

  }

  tr {
    padding: 10px 0;
    border-bottom: 1px solid var(--line);

  }

  td {
    border: 0;
    padding: 7px 14px;
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 8px;

  }

  td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 12px;

  }

  .card.table-wrap {
    padding: 0;

  }
}


/* ---- resources/styles/10-shell.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 10-shell.css
 * 화면: 관리자·매장 공통 골격
 * 수정: 사이드바, 상단바, 본문 배치와 공통 셸
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

:root {
  --safety-navy: #102b49;
  --safety-navy-medium: #173e68;
  --safety-navy-light: #245783;
  --safety-yellow: #ffd63f;
  --safety-yellow-soft: #fff6c8;
  --safety-bg: #f3f6f9;
  --safety-white: #ffffff;
  --safety-text: #172435;
  --safety-muted: #708096;
  --safety-line: #e0e7ee;
  --safety-green: #177a58;
  --safety-red: #ba3440;
  --safety-blue: #2d71ba;
  --safety-orange: #bb691c;
  --safety-shadow: 0 12px 34px rgba(16,43,73,.08);
}

.safety-store-body,.safety-admin-body {
  margin: 0;
  background: var(--safety-bg);
  color: var(--safety-text);
  font-family: "Malgun Gothic","Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
}

.safety-store-body *,.safety-admin-body * {
  box-sizing: border-box;
}

.safety-tb-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  padding: 7px 9px;
  border-radius: 7px;
  background: var(--safety-yellow);
  color: #172637;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.safety-dev-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  border: 1px solid #ecd066;
  border-radius: 999px;
  background: #fff6c7;
  color: #725f00;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}

.safety-eyebrow-dark,.safety-eyebrow-light {
  display: block;
  margin-bottom: 8px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
}

.safety-eyebrow-dark {
  color: #7c8c9e;
}

.safety-eyebrow-light {
  color: #d4e2ef;
}

.safety-shell-panel {
  border: 1px solid var(--safety-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(16,43,73,.045);
}

.safety-shell-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 19px 20px 14px;
}

.safety-shell-panel-head h2 {
  margin: 0;
  font-size: 17px;
  letter-spacing: -.025em;
}

.safety-shell-panel-head p {
  margin: 5px 0 0;
  color: var(--safety-muted);
  font-size: 10px;
  line-height: 1.5;
}

.safety-shell-panel-head > a {
  color: var(--safety-navy);
  font-size: 10px;
  font-weight: 900;
}

.safety-shell-button {
  display: inline-flex;
  min-height: 40px;
  padding: 10px 14px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.safety-shell-button.yellow {
  background: var(--safety-yellow);
  color: #172637;
}

.safety-shell-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 8px;
  border-radius: 999px;
  background: #edf1f5;
  color: #657487;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.safety-shell-status::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  opacity: .75;
}

.safety-shell-status.status-pending {
  background: #e7f1fc;
  color: #286bb2;
}

.safety-shell-status.status-approved {
  background: #e7f6ef;
  color: #0e7855;
}

.safety-shell-status.status-rejected {
  background: #ffeaec;
  color: #ae2d38;
}

.safety-shell-status.status-review,.safety-shell-status.status-reviewing {
  background: #eeeafd;
  color: #684ab6;
}

.safety-shell-status.status-supplement {
  background: #fff0df;
  color: #a85d10;
}

.safety-admin-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 246px minmax(0,1fr);
}

.safety-admin-sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 246px;
  z-index: 30;
  display: flex;
  flex-direction: column;
  padding: 22px 15px;
  background: var(--safety-navy);
  color: #fff;
}

.safety-admin-brand {
  display: grid;
  gap: 4px;
  padding: 0 8px 21px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.safety-admin-brand strong {
  margin-top: 9px;
  font-size: 18px;
}

.safety-admin-brand small {
  color: #91aac2;
  font-size: 8px;
  letter-spacing: .1em;
}

.safety-admin-menu {
  display: grid;
  gap: 5px;
  padding: 16px 0;
}

.safety-admin-menu a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 41px;
  padding: 9px 11px;
  border-radius: 10px;
  color: #c4d3e1;
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.safety-admin-menu a .icon {
  width: 20px;
  text-align: center;
  font-size: 14px;
}

.safety-admin-menu a:hover {
  background: rgba(255,255,255,.06);
}

.safety-admin-menu a.active {
  background: #fff;
  color: var(--safety-navy);
}

.safety-admin-user {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding: 15px 8px 0;
  border-top: 1px solid rgba(255,255,255,.09);
}

.safety-admin-user .avatar {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.10);
  color: var(--safety-yellow);
  font-size: 12px;
  font-weight: 900;
}

.safety-admin-user strong {
  display: block;
  font-size: 10px;
}

.safety-admin-user small {
  display: block;
  margin-top: 3px;
  color: #91a8be;
  font-size: 8px;
}

.safety-admin-workspace {
  grid-column: 2;
  min-width: 0;
}

.safety-admin-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 24px;
  border-bottom: 1px solid var(--safety-line);
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(10px);
}

.safety-admin-topbar > div:first-child {
  display: grid;
  gap: 2px;
}

.safety-admin-topbar strong {
  font-size: 16px;
}

.safety-mobile-brand {
  display: none;
  color: #7d8b9b;
  font-size: 8px;
}

.safety-admin-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.safety-admin-actions a,.safety-admin-actions button {
  border: 1px solid #d8e0e8;
  border-radius: 9px;
  background: #fff;
  color: #536378;
  padding: 8px 10px;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.safety-admin-actions form {
  margin: 0;
}

.safety-admin-main {
  width: min(1500px,100%);
  margin: 0 auto;
  padding: 23px;
}

.safety-page-intro {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 16px;
}

.safety-page-intro h1 {
  margin: 0;
  font-size: 27px;
  letter-spacing: -.045em;
}

.safety-page-intro p {
  margin: 6px 0 0;
  color: var(--safety-muted);
  font-size: 11px;
}

.safety-shell-admin-kpis {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
  margin-bottom: 13px;
}

.safety-kpi {
  position: relative;
  overflow: hidden;
  padding: 17px;
  border: 1px solid var(--safety-line);
  border-radius: 15px;
  background: #fff;
}

.safety-kpi > span {
  color: #728196;
  font-size: 9px;
}

.safety-kpi > strong {
  display: block;
  margin: 5px 0 3px;
  color: var(--safety-navy);
  font-size: 26px;
  line-height: 1.1;
}

.safety-kpi > small {
  color: #96a1ae;
  font-size: 8px;
}

.safety-kpi.attention {
  border-color: #ecd287;
  background: #fffaf0;
}

.safety-kpi.attention::after {
  content: "";
  position: absolute;
  width: 72px;
  height: 72px;
  right: -22px;
  top: -25px;
  border-radius: 50%;
  background: rgba(255,214,63,.25);
}

.safety-admin-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0,1.65fr) minmax(280px,.75fr);
  gap: 13px;
}

.safety-admin-claim-table {
  padding: 0 20px 12px;
}

.safety-table-head,.safety-table-row {
  display: grid;
  grid-template-columns: 1.2fr .9fr 1fr .7fr 50px;
  gap: 10px;
  align-items: center;
}

.safety-table-head {
  padding: 9px 10px;
  border-radius: 9px;
  background: #f4f7f9;
  color: #728095;
  font-size: 8px;
  font-weight: 900;
}

.safety-table-row {
  min-height: 52px;
  padding: 9px 10px;
  border-bottom: 1px solid #edf1f4;
  color: #516075;
  font-size: 9px;
  text-decoration: none;
}

.safety-table-row:hover {
  background: #fafcfd;
}

.safety-table-row strong {
  color: var(--safety-text);
  font-size: 10px;
}

.safety-table-row .product {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.safety-table-row b {
  color: var(--safety-blue);
  font-size: 8px;
  text-align: right;
}

.safety-month-bars {
  display: grid;
  gap: 11px;
  padding: 4px 20px 20px;
}

.safety-month-row {
  display: grid;
  grid-template-columns: 62px 1fr 30px;
  gap: 8px;
  align-items: center;
  color: #66758a;
  font-size: 9px;
}

.safety-month-row .track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9eef3;
}

.safety-month-row .track i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg,var(--safety-yellow),#f1c61d);
}

.safety-month-row strong {
  color: var(--safety-navy);
  font-size: 9px;
  text-align: right;
}

.safety-store-shell {
  min-height: 100vh;
  padding-bottom: 89px;
  background: var(--safety-bg);
}

.safety-store-topbar {
  position: sticky;
  top: 0;
  z-index: 25;
  height: 66px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(16px,calc((100vw - 1020px)/2));
  border-bottom: 1px solid var(--safety-line);
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(10px);
}

.safety-store-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--safety-text);
  text-decoration: none;
}

.safety-store-brand > span:last-child {
  display: grid;
}

.safety-store-brand strong {
  font-size: 13px;
}

.safety-store-brand small {
  margin-top: 2px;
  color: #8b97a5;
  font-size: 8px;
}

.safety-store-account-actions {
  display: flex;
  align-items: center;
  gap: 7px;
}

.safety-store-account-actions form {
  margin: 0;
}

.safety-store-account-actions button {
  padding: 8px 10px;
  border: 1px solid #d8e0e8;
  border-radius: 9px;
  background: #fff;
  color: #5e6d80;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}

.safety-store-main {
  width: min(1020px,calc(100% - 30px));
  margin: 20px auto;
}

.safety-shell-store-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 30px;
  border-radius: 23px;
  background: radial-gradient(circle at 83% 15%,rgba(255,214,63,.38),transparent 29%),linear-gradient(135deg,#102b49,#1c4d7a);
  color: #fff;
  box-shadow: var(--safety-shadow);
}

.safety-shell-store-hero h1 {
  margin: 0;
  font-size: 31px;
  line-height: 1.2;
  letter-spacing: -.045em;
}

.safety-shell-store-hero p {
  margin: 9px 0 0;
  color: #c6d6e6;
  font-size: 11px;
}

.safety-new-claim-circle {
  flex: 0 0 auto;
  width: 108px;
  height: 108px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--safety-yellow);
  color: #18283a;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
}

.safety-new-claim-circle b {
  font-size: 31px;
  line-height: 1;
}

.safety-new-claim-circle span {
  margin-top: 5px;
  font-size: 10px;
  font-weight: 900;
}

.safety-shell-store-kpis {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
  margin: 12px 0;
}

.safety-shell-store-kpis article {
  display: grid;
  gap: 3px;
  padding: 15px;
  border: 1px solid var(--safety-line);
  border-radius: 14px;
  background: #fff;
}

.safety-shell-store-kpis article.attention {
  border-color: #ecd287;
  background: #fffaf0;
}

.safety-shell-store-kpis strong {
  color: var(--safety-navy);
  font-size: 24px;
}

.safety-shell-store-kpis span {
  color: var(--safety-muted);
  font-size: 9px;
}

.safety-store-notice {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 14px 15px;
  margin-bottom: 12px;
  border: 1px solid #ead076;
  border-radius: 14px;
  background: #fff8df;
}

.safety-store-notice > span {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--safety-yellow);
  color: #4c4000;
  font-size: 16px;
  font-weight: 900;
}

.safety-store-notice > div {
  flex: 1;
}

.safety-store-notice strong {
  font-size: 10px;
}

.safety-store-notice p {
  margin: 4px 0 0;
  color: #735f18;
  font-size: 9px;
}

.safety-store-notice > a {
  padding: 8px 10px;
  border-radius: 9px;
  background: var(--safety-yellow);
  color: #392f00;
  font-size: 9px;
  font-weight: 900;
  text-decoration: none;
}

.safety-store-recent {
  padding-bottom: 11px;
}

.safety-store-claim-list {
  display: grid;
  gap: 8px;
  padding: 0 20px 9px;
}

.safety-store-claim-card {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--safety-line);
  border-radius: 13px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: .15s;
}

.safety-store-claim-card:hover {
  transform: translateY(-1px);
  border-color: #b9c9d8;
}

.safety-store-claim-card .top,.safety-store-claim-card .bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.safety-store-claim-card small {
  color: #8693a2;
  font-size: 8px;
}

.safety-store-claim-card > strong {
  font-size: 12px;
}

.safety-store-claim-card > p {
  margin: 0;
  color: #5d6c80;
  font-size: 10px;
}

.safety-store-claim-card .bottom span {
  color: #8995a4;
  font-size: 8px;
}

.safety-store-claim-card .bottom b {
  color: var(--safety-blue);
  font-size: 8px;
}

.safety-store-bottom-nav {
  position: fixed;
  left: 50%;
  bottom: 12px;
  z-index: 60;
  width: min(580px,calc(100% - 22px));
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 3px;
  padding: 7px;
  border: 1px solid var(--safety-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 38px rgba(16,43,73,.18);
}

.safety-store-bottom-nav a {
  min-height: 50px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 2px;
  border-radius: 11px;
  color: #738095;
  text-decoration: none;
}

.safety-store-bottom-nav a > span {
  font-size: 18px;
  line-height: 1;
}

.safety-store-bottom-nav a > small {
  font-size: 8px;
  font-weight: 900;
}

.safety-store-bottom-nav a.new {
  background: var(--safety-yellow-soft);
  color: var(--safety-navy);
}

.safety-store-bottom-nav a.active {
  background: var(--safety-navy);
  color: #fff;
}

.safety-store-bottom-nav a.new.active {
  background: var(--safety-yellow);
  color: var(--safety-navy);
}

.safety-shell-empty {
  padding: 22px;
  color: #8895a5;
  font-size: 10px;
  text-align: center;
}

.safety-admin-main > .page-header,.safety-store-main > .page-header {
  margin-top: 0;
}

@media(max-width:1050px) {
  .safety-shell-admin-kpis {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-admin-dashboard-grid {
    grid-template-columns: 1fr;

  }
}

@media(max-width:820px) {
  .safety-admin-shell {
    grid-template-columns: 72px minmax(0,1fr);

  }

  .safety-admin-sidebar {
    width: 72px;
    padding-inline: 9px;

  }

  .safety-admin-brand {
    padding-inline: 4px;
    text-align: center;

  }

  .safety-admin-brand strong,.safety-admin-brand small,.safety-admin-user>div:last-child,.safety-admin-menu a span:last-child {
    display: none;

  }

  .safety-admin-brand .safety-tb-mark {
    font-size: 0;
    padding: 8px;

  }

  .safety-admin-brand .safety-tb-mark::after {
    content: "TB";
    font-size: 9px;

  }

  .safety-admin-menu a {
    justify-content: center;
    padding: 10px;

  }

  .safety-admin-user {
    justify-content: center;
    padding-inline: 0;

  }

  .safety-admin-workspace {
    grid-column: 2;

  }

  .safety-table-head,.safety-table-row {
    grid-template-columns: 1.2fr 1fr .7fr 40px;

  }

  .safety-table-head span:nth-child(3),.safety-table-row .product {
    display: none;

  }
}

@media(max-width:650px) {
  .safety-admin-shell {
    display: block;

  }

  .safety-admin-sidebar {
    display: none;

  }

  .safety-admin-workspace {
    width: 100%;

  }

  .safety-admin-topbar {
    height: 60px;
    padding: 0 13px;

  }

  .safety-mobile-brand {
    display: block;

  }

  .safety-admin-topbar strong {
    font-size: 13px;

  }

  .safety-admin-actions a {
    display: none;

  }

  .safety-admin-main {
    padding: 13px;

  }

  .safety-page-intro {
    display: grid;
    align-items: start;

  }

  .safety-page-intro h1 {
    font-size: 23px;

  }

  .safety-page-intro .safety-shell-button {
    display: none;

  }

  .safety-shell-admin-kpis {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-kpi {
    padding: 14px;

  }

  .safety-kpi > strong {
    font-size: 22px;

  }

  .safety-admin-claim-table {
    padding-inline: 12px;

  }

  .safety-table-head {
    display: none;

  }

  .safety-table-row {
    grid-template-columns: 1fr auto;
    gap: 5px;
    padding: 12px 4px;

  }

  .safety-table-row > span:not(:has(.safety-shell-status)) {
    grid-column: 1/2;

  }

  .safety-table-row > span:has(.safety-shell-status) {
    grid-column: 2;
    grid-row: 1;

  }

  .safety-table-row > b {
    grid-column: 2;
    grid-row: 2;

  }
}

@media(max-width:720px) {
  .safety-store-main {
    width: calc(100% - 22px);
    margin: 13px auto;

  }

  .safety-store-topbar {
    height: 62px;
    padding: 0 12px;

  }

  .safety-shell-store-hero {
    padding: 21px;
    border-radius: 19px;
    align-items: center;

  }

  .safety-shell-store-hero h1 {
    font-size: 24px;

  }

  .safety-shell-store-hero p {
    font-size: 9px;

  }

  .safety-new-claim-circle {
    width: 80px;
    height: 80px;

  }

  .safety-new-claim-circle b {
    font-size: 25px;

  }

  .safety-new-claim-circle span {
    font-size: 8px;

  }

  .safety-shell-store-kpis {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-store-account-actions .safety-dev-pill {
    display: none;

  }

  .safety-shell-panel-head {
    padding: 16px 15px 12px;

  }

  .safety-store-claim-list {
    padding: 0 15px 5px;

  }
}

@media(max-width:390px) {
  .safety-store-brand .safety-tb-mark {
    display: none;

  }

  .safety-shell-store-hero h1 {
    font-size: 21px;

  }

  .safety-new-claim-circle {
    width: 72px;
    height: 72px;

  }
}

.safety-password-reminder {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 13px;
  padding: 14px 16px;
  border: 1px solid #ecd173;
  border-radius: 14px;
  background: #fff9df;
  box-shadow: 0 6px 18px rgba(16,43,73,.04);
}

.safety-password-reminder strong {
  display: block;
  color: #102b49;
  font-size: 11px;
  font-weight: 900;
}

.safety-password-reminder p {
  margin: 4px 0 0;
  color: #746326;
  font-size: 9px;
  line-height: 1.6;
}

.safety-password-reminder-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
}

.safety-password-reminder-actions a,.safety-password-reminder-actions button {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 11px;
  border-radius: 9px;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
  text-decoration: none;
}

.safety-password-reminder-actions a {
  border: 0;
  background: #102b49;
  color: #fff;
}

.safety-password-reminder-actions button {
  border: 1px solid #d9c56d;
  background: #fff;
  color: #66591e;
}

@media(max-width:620px) {
  .safety-password-reminder {
    align-items: flex-start;
    flex-direction: column;

  }

  .safety-password-reminder-actions {
    width: 100%;

  }

  .safety-password-reminder-actions a,.safety-password-reminder-actions button {
    flex: 1;

  }
}


/* ---- resources/styles/20-components.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 20-components.css
 * 화면: 공통 부품
 * 수정: 버튼, 입력칸, 카드, 표, 알림과 상태표시
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

:root {
  --safety-form-navy: #102b49;
  --safety-form-navy-medium: #173e68;
  --safety-form-yellow: #ffd63f;
  --safety-form-yellow-soft: #fff8d8;
  --safety-form-bg: #f3f6f9;
  --safety-form-card: #fff;
  --safety-form-text: #172435;
  --safety-form-muted: #718095;
  --safety-form-line: #dde5ec;
  --safety-form-blue: #2f71b5;
  --safety-form-green: #167958;
  --safety-form-red: #b73943;
  --safety-form-shadow: 0 10px 28px rgba(16,43,73,.07);
}

.safety-edit-page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 16px;
}

.safety-edit-page-heading h1 {
  margin: 0;
  color: var(--safety-form-text);
  font-size: 27px;
  line-height: 1.15;
  letter-spacing: -.045em;
}

.safety-edit-page-heading p {
  margin: 7px 0 0;
  color: var(--safety-form-muted);
  font-size: 11px;
  line-height: 1.65;
}

.safety-edit-page-heading p strong {
  color: var(--safety-form-navy);
}

.safety-kicker {
  display: block;
  margin-bottom: 7px;
  color: #8190a2;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .17em;
}

.safety-form-link-button {
  min-height: 39px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 9px 13px;
  border: 1px solid #d3dce5;
  border-radius: 10px;
  background: #fff;
  color: #536276;
  font: inherit;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.safety-form-link-button.primary {
  border-color: var(--safety-form-navy);
  background: var(--safety-form-navy);
  color: #fff;
}

.safety-form-link-button.primary.final {
  border-color: #e8c42b;
  background: var(--safety-form-yellow);
  color: #1b2b3c;
}

.safety-form-link-button.success {
  border-color: var(--safety-form-green);
  background: var(--safety-form-green);
  color: #fff;
}

.safety-form-link-button.danger {
  border-color: #efc7ca;
  background: #fff2f3;
  color: var(--safety-form-red);
}

.safety-form-link-button.ghost {
  background: #fff;
  color: #647286;
}

.safety-form-link-button.full {
  width: 100%;
}

.safety-form-info-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 13px;
  padding: 12px 14px;
  border: 1px solid #ebd278;
  border-radius: 12px;
  background: #fff9df;
  color: #6f6026;
  font-size: 10px;
}

.safety-form-info-banner strong {
  color: var(--safety-form-navy);
  font-size: 10px;
  white-space: nowrap;
}

.safety-form-info-banner.compact {
  margin: 0 0 13px;
  padding: 10px 12px;
}

.safety-filter {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 11px;
  border: 1px solid var(--safety-form-line);
  border-radius: 13px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(16,43,73,.035);
}

.safety-filter input,.safety-filter select {
  min-height: 39px;
  border: 1px solid #d5dee7;
  border-radius: 9px;
  padding: 8px 10px;
  font-size: 10px;
}

.safety-filter select,.safety-filter>input {
  width: auto;
  min-width: 145px;
}

.safety-search-field {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 190px;
  border: 1px solid #d5dee7;
  border-radius: 9px;
  padding: 0 10px;
  background: #fff;
}

.safety-search-field>span {
  color: #8b99a8;
  font-size: 15px;
}

.safety-search-field input {
  width: 100%;
  border: 0;
  padding-inline: 0;
  box-shadow: none!important;
}

.safety-table-card,.safety-form-card,.safety-detail-card,.safety-gallery-section,.safety-side-card {
  border: 1px solid var(--safety-form-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(16,43,73,.045);
}

.safety-table-card {
  overflow: hidden;
}

.safety-table-scroll {
  overflow: auto;
}

.safety-table {
  width: 100%;
  border-collapse: collapse;
}

.safety-table th {
  padding: 11px 14px;
  background: #f6f8fa;
  color: #738196;
  font-size: 8px;
  font-weight: 900;
  text-align: left;
  white-space: nowrap;
}

.safety-table td {
  padding: 13px 14px;
  border-top: 1px solid #edf1f4;
  color: #526175;
  font-size: 10px;
  vertical-align: middle;
}

.safety-table td strong {
  color: var(--safety-form-text);
  font-size: 10px;
}

.safety-table tr:hover td {
  background: #fcfdfe;
}

.safety-table-action {
  text-align: right;
}

.safety-table-action a {
  color: var(--safety-form-blue);
  font-size: 9px;
  font-weight: 900;
}

.safety-table-sub {
  display: block;
  margin-top: 3px;
  color: #8c98a6;
  font-size: 8px;
}

.safety-muted-code {
  color: #7e8a99;
  font-family: ui-monospace,Consolas,monospace;
  font-size: 9px;
}

.safety-login-phone {
  color: var(--safety-form-navy);
  font-weight: 900;
}

.safety-form-state,.safety-form-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 8px;
  font-weight: 900;
  white-space: nowrap;
}

.safety-form-state::before,.safety-form-status::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.safety-form-state.on {
  background: #e7f6ef;
  color: #117456;
}

.safety-form-state.off {
  background: #eef1f4;
  color: #758294;
}

.safety-form-status.status-pending {
  background: #e8f2fc;
  color: #286caf;
}

.safety-form-status.status-approved {
  background: #e7f6ef;
  color: #0f7856;
}

.safety-form-status.status-rejected {
  background: #ffeaec;
  color: #ae3340;
}

.safety-form-status.large {
  padding: 8px 11px;
  font-size: 9px;
}

.safety-form-empty {
  padding: 25px!important;
  color: #8995a4!important;
  text-align: center!important;
  font-size: 10px!important;
}

.safety-form-card {
  padding: 20px;
}

.safety-form-card.narrow {
  max-width: 780px;
}

.safety-form-card-head,.safety-form-section-head,.safety-card-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 17px;
}

.safety-form-card-head h2,.safety-form-section-head h2,.safety-card-headline h2 {
  margin: 0;
  color: var(--safety-form-text);
  font-size: 17px;
  letter-spacing: -.025em;
}

.safety-form-card-head p,.safety-form-section-head p {
  margin: 5px 0 0;
  color: var(--safety-form-muted);
  font-size: 9px;
  line-height: 1.55;
}

.safety-policy-chip {
  flex-shrink: 0;
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--safety-form-yellow-soft);
  color: #6a590e;
  font-size: 8px;
  font-weight: 900;
}

.safety-form-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.safety-form-form-grid label,.safety-form-field {
  display: block;
}

.safety-form-form-grid label.full,.safety-form-field.full,.safety-form-form-actions.full {
  grid-column: 1/-1;
}

.safety-form-form-grid label>span,.safety-form-field>label,.safety-review-actions label>span {
  display: block;
  margin-bottom: 6px;
  color: #435267;
  font-size: 10px;
  font-weight: 900;
}

.safety-form-form-grid label>span b,.safety-form-field>label b,.safety-review-actions label>span b {
  color: #bf3e48;
}

.safety-form-form-grid input,.safety-form-form-grid select,.safety-form-form-grid textarea,.safety-form-field input,.safety-form-field select,.safety-form-field textarea,.safety-review-actions textarea {
  width: 100%;
  min-height: 43px;
  border: 1px solid #d3dde6;
  border-radius: 10px;
  background: #fff;
  padding: 10px 11px;
  color: var(--safety-form-text);
  font: inherit;
  font-size: 10px;
  outline: none;
}

.safety-form-form-grid input:focus,.safety-form-form-grid select:focus,.safety-form-form-grid textarea:focus,.safety-form-field input:focus,.safety-form-field select:focus,.safety-form-field textarea:focus {
  border-color: #7392ae;
  box-shadow: 0 0 0 3px rgba(47,113,181,.08);
}

.safety-form-form-grid label>small,.safety-form-field small {
  display: block;
  margin-top: 5px;
  color: #8a96a5;
  font-size: 8px;
  line-height: 1.45;
}

.safety-form-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}

.safety-switch-row {
  display: flex!important;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e0e6ec;
  border-radius: 11px;
  background: #fafbfd;
}

.safety-switch-row>input {
  width: auto!important;
  min-height: auto!important;
}

.safety-switch-row>span {
  margin: 0!important;
}

.safety-switch-row strong {
  display: block;
  color: #435267;
  font-size: 10px;
}

.safety-switch-row small {
  margin-top: 2px!important;
}

.safety-split {
  display: grid;
  grid-template-columns: minmax(0,1fr) 300px;
  gap: 13px;
}

.safety-side-card {
  padding: 20px;
  height: max-content;
}

.safety-side-card h2 {
  margin: 0 0 16px;
  font-size: 17px;
}

.safety-account-info {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 10px;
  margin: 0 0 18px;
}

.safety-account-info dt {
  color: #8491a1;
  font-size: 9px;
}

.safety-account-info dd {
  margin: 0;
  color: #35465a;
  font-size: 10px;
}

.safety-side-help {
  margin: 11px 0 0;
  color: #8b96a4;
  font-size: 8px;
  line-height: 1.55;
}

.safety-card-grid.two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.safety-help-box {
  padding: 12px;
  border-radius: 11px;
  background: #f6f8fa;
  color: #6f7d90;
  font-size: 9px;
  line-height: 1.65;
}

.safety-help-box b {
  color: var(--safety-form-navy);
}

.safety-claim-form {
  max-width: 1060px;
  margin: 0 auto;
}

.safety-claim-form-frame {
  border: 1px solid var(--safety-form-line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--safety-form-shadow);
  overflow: hidden;
}

.safety-wizard-head {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px 20px;
  border-bottom: 1px solid #edf1f4;
  background: #fbfcfd;
}

.safety-wizard-progress-copy {
  min-width: 170px;
}

.safety-wizard-progress-copy>span {
  display: block;
  color: #7d8b9d;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
}

.safety-wizard-progress-copy>strong {
  display: block;
  margin-top: 3px;
  color: var(--safety-form-navy);
  font-size: 12px;
}

.safety-form-wizard-progress {
  flex: 1;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf2;
}

.safety-form-wizard-progress>span {
  display: block;
  width: 25%;
  height: 100%;
  border-radius: inherit;
  background: var(--safety-form-yellow);
  transition: width .2s ease;
}

.safety-wizard-tabs {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  padding: 10px 14px;
  border-bottom: 1px solid #edf1f4;
  background: #fff;
}

.safety-wizard-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #8995a4;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}

.safety-wizard-tabs button b {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf1f4;
  color: #7c8998;
  font-size: 8px;
}

.safety-wizard-tabs button.active {
  background: #f1f5f8;
  color: var(--safety-form-navy);
}

.safety-wizard-tabs button.active b {
  background: var(--safety-form-yellow);
  color: #263547;
}

.safety-wizard-tabs button.done b {
  background: var(--safety-form-navy);
  color: #fff;
}

.safety-form-wizard-step {
  display: none;
  padding: 25px;
}

.safety-form-wizard-step.active {
  display: block;
}

.safety-step-intro {
  margin-bottom: 19px;
}

.safety-step-intro h2 {
  margin: 0;
  color: var(--safety-form-text);
  font-size: 21px;
  letter-spacing: -.035em;
}

.safety-step-intro p {
  margin: 7px 0 0;
  color: var(--safety-form-muted);
  font-size: 10px;
  line-height: 1.6;
}

.safety-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.safety-form-field textarea {
  min-height: 130px;
  resize: vertical;
}

.safety-form-wizard-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 15px 20px;
  border-top: 1px solid #edf1f4;
  background: #fafbfd;
}

.safety-form-wizard-actions .spacer {
  flex: 1;
}

.safety-step-intro.photo-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 15px;
}

.safety-form-photo-counter {
  text-align: right;
  flex-shrink: 0;
}

.safety-form-photo-counter strong {
  display: block;
  color: var(--safety-form-navy);
  font-size: 25px;
  line-height: 1;
}

.safety-form-photo-counter small {
  display: block;
  margin-top: 5px;
  color: #8c98a7;
  font-size: 8px;
  font-weight: 900;
}

.safety-form-photo-progress {
  height: 7px;
  margin-bottom: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf2;
}

.safety-form-photo-progress>span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,var(--safety-form-yellow),#f0c721);
  transition: width .2s;
}

.safety-form-photo-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
}

.safety-form-photo-card {
  position: relative;
  min-height: 205px;
  overflow: hidden;
  border: 1px solid #d9e1e8;
  border-radius: 14px;
  background: #f8fafb;
  transition: .16s;
}

.safety-form-photo-card:hover {
  transform: translateY(-1px);
  border-color: #aebdca;
  box-shadow: 0 8px 20px rgba(16,43,73,.07);
}

.safety-form-photo-card.filled {
  border-color: #e2c344;
  background: #fffdf5;
}

.safety-form-photo-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.safety-photo-picker {
  display: flex!important;
  flex-direction: column;
  height: 100%;
  min-height: 205px;
  cursor: pointer;
  margin: 0!important;
}

.safety-form-photo-preview {
  height: 112px;
  background: #edf2f6 center/cover no-repeat;
  border-bottom: 1px solid #e1e7ed;
  position: relative;
}

.safety-form-photo-preview::after {
  content: "사진 선택";
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #7d8b9a;
  font-size: 9px;
  font-weight: 900;
}

.safety-form-photo-card.filled .safety-form-photo-preview::after {
  content: "";
  background: linear-gradient(180deg,transparent 55%,rgba(7,27,44,.18));
}

.safety-photo-card-copy {
  padding: 12px;
}

.safety-photo-card-copy strong {
  display: block;
  color: #2d3e51;
  font-size: 10px;
}

.safety-photo-card-copy small {
  display: block;
  min-height: 26px;
  margin: 4px 0 8px;
  color: #8995a3;
  font-size: 8px;
  line-height: 1.45;
}

.safety-photo-card-copy span {
  display: inline-flex;
  padding: 5px 7px;
  border-radius: 7px;
  background: #eef3f7;
  color: #52667a;
  font-size: 8px;
  font-weight: 900;
}

.safety-form-photo-card.filled .safety-photo-card-copy span {
  background: var(--safety-form-yellow-soft);
  color: #6a590d;
}

.safety-form-photo-order {
  position: absolute;
  z-index: 4;
  top: 8px;
  left: 8px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--safety-form-navy);
  color: #fff;
  font-size: 8px;
  font-weight: 900;
}

.safety-form-photo-card.filled .safety-form-photo-order {
  background: var(--safety-form-yellow);
  color: #243446;
}

.safety-form-photo-clear {
  display: none;
  position: absolute;
  z-index: 5;
  top: 7px;
  right: 7px;
  width: 27px;
  height: 27px;
  border: 0;
  border-radius: 50%;
  background: rgba(13,37,60,.88);
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}

.safety-form-photo-card.has-selection .safety-form-photo-clear {
  display: block;
}

.safety-form-extra-upload {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 12px;
  padding: 13px 14px;
  border: 1px dashed #bdcbd7;
  border-radius: 13px;
  background: #fafcfd;
}

.safety-form-extra-upload strong {
  display: block;
  color: #33475a;
  font-size: 10px;
}

.safety-form-extra-upload strong span {
  color: #8794a3;
  font-size: 8px;
  font-weight: 700;
}

.safety-form-extra-upload p {
  margin: 4px 0 0;
  color: #8a96a5;
  font-size: 8px;
}

.safety-form-extra-button {
  flex-shrink: 0;
  display: inline-flex!important;
  align-items: center;
  justify-content: center;
  margin: 0!important;
  padding: 9px 11px;
  border: 1px solid #d0dae4;
  border-radius: 9px;
  background: #fff;
  color: var(--safety-form-navy);
  font-size: 9px!important;
  font-weight: 900;
  cursor: pointer;
}

.safety-form-extra-button input {
  display: none;
}

.safety-form-extra-selected,.safety-form-existing-files {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.safety-form-extra-selected span,.safety-form-existing-files a {
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 5px 7px;
  border-radius: 999px;
  background: #eef3f7;
  color: #637286;
  font-size: 8px;
}

.safety-form-review-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 9px;
}

.safety-form-review-grid>div,.safety-form-review-description,.safety-form-review-photos {
  padding: 13px;
  border: 1px solid #e1e7ed;
  border-radius: 12px;
  background: #fafbfd;
}

.safety-form-review-grid span,.safety-form-review-description>span,.safety-form-review-photos span {
  display: block;
  color: #8793a2;
  font-size: 8px;
  font-weight: 900;
}

.safety-form-review-grid strong {
  display: block;
  margin-top: 5px;
  color: #293b4f;
  font-size: 10px;
  word-break: break-word;
}

.safety-form-review-description {
  margin-top: 9px;
}

.safety-form-review-description p {
  margin: 6px 0 0;
  color: #4f6074;
  font-size: 10px;
  line-height: 1.65;
  white-space: pre-wrap;
}

.safety-form-review-photos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 9px;
}

.safety-form-review-photos strong {
  display: block;
  margin-top: 2px;
  color: var(--safety-form-navy);
  font-size: 20px;
}

.safety-form-review-photos p {
  margin: 0;
  color: #7e8b9b;
  font-size: 9px;
}

.claim-detail-head {
  align-items: center;
}

.safety-detail-head-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.safety-detail-grid {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
  gap: 13px;
  margin-bottom: 13px;
}

.safety-detail-card {
  padding: 19px;
}

.safety-detail-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 0;
}

.safety-detail-list>div {
  display: grid;
  grid-template-columns: 85px 1fr;
  gap: 9px;
  padding: 10px 0;
  border-bottom: 1px solid #edf1f4;
}

.safety-detail-list dt {
  color: #8390a0;
  font-size: 9px;
}

.safety-detail-list dd {
  margin: 0;
  color: #384a5e;
  font-size: 10px;
  word-break: break-word;
}

.safety-detail-list dd small {
  color: #9a7b19;
  font-size: 7px;
}

.safety-detail-list.compact {
  grid-template-columns: 1fr;
}

.safety-description-box {
  margin-top: 15px;
  padding: 13px;
  border-radius: 11px;
  background: #f7f9fb;
}

.safety-description-box span {
  color: #8491a1;
  font-size: 8px;
  font-weight: 900;
}

.safety-description-box p {
  margin: 5px 0 0;
  color: #4f6073;
  font-size: 10px;
  line-height: 1.65;
  white-space: pre-wrap;
}

.safety-review-actions {
  display: grid;
  gap: 10px;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #edf1f4;
}

.safety-review-actions form {
  display: grid;
  gap: 8px;
}

.safety-gallery-section {
  padding: 19px;
  margin-bottom: 13px;
}

.safety-form-section-head.small {
  margin-bottom: 9px;
}

.safety-photo-total {
  color: var(--safety-form-navy);
  font-size: 22px;
}

.safety-detail-photo-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 9px;
}

.safety-detail-photo {
  overflow: hidden;
  border: 1px solid #dce4eb;
  border-radius: 13px;
  background: #fafbfd;
}

.safety-detail-photo.has-file {
  background: #fff;
}

.safety-detail-photo-media {
  height: 135px;
  position: relative;
  background: #eef2f5;
}

.safety-detail-photo-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.safety-detail-photo-media>span {
  position: absolute;
  top: 7px;
  left: 7px;
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--safety-form-yellow);
  color: #243446;
  font-size: 8px;
  font-weight: 900;
}

.safety-photo-missing {
  height: 100%;
  display: grid;
  place-items: center;
  color: #9aa4af;
  font-size: 9px;
}

.safety-detail-photo-copy {
  padding: 10px;
}

.safety-detail-photo-copy strong {
  display: block;
  color: #314356;
  font-size: 10px;
}

.safety-detail-photo-copy small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 3px;
  color: #8b97a5;
  font-size: 8px;
}

.safety-detail-photo-copy a {
  display: inline-block;
  margin-top: 7px;
  color: var(--safety-form-blue);
  font-size: 8px;
  font-weight: 900;
}

.safety-file-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid #edf1f4;
}

.safety-file-row:last-child {
  border-bottom: 0;
}

.safety-file-row strong {
  display: block;
  color: #3b4d60;
  font-size: 10px;
}

.safety-file-row small {
  display: block;
  margin-top: 3px;
  color: #8a96a4;
  font-size: 8px;
}

.safety-file-row>span {
  color: var(--safety-form-blue);
  font-size: 8px;
  font-weight: 900;
}

.safety-bottom-actions {
  display: flex;
  margin-top: 12px;
}

@media(max-width:1050px) {
  .safety-form-photo-grid,.safety-detail-photo-grid {
    grid-template-columns: repeat(3,1fr);

  }

  .safety-detail-grid {
    grid-template-columns: 1fr;

  }

  .safety-split {
    grid-template-columns: 1fr;

  }

  .safety-side-card {
    height: auto;

  }
}

@media(max-width:760px) {
  .safety-edit-page-heading {
    align-items: flex-start;
    flex-direction: column;

  }

  .safety-edit-page-heading h1 {
    font-size: 23px;

  }

  .safety-edit-page-heading>.safety-form-link-button {
    width: 100%;

  }

  .safety-form-info-banner {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;

  }

  .safety-filter {
    align-items: stretch;
    flex-direction: column;

  }

  .safety-filter select,.safety-filter>input {
    width: 100%;

  }

  .safety-search-field {
    width: 100%;

  }

  .safety-form-form-grid,.safety-field-grid,.safety-card-grid.two {
    grid-template-columns: 1fr;

  }

  .safety-form-form-grid label.full,.safety-form-field.full,.safety-form-form-actions.full {
    grid-column: auto;

  }

  .safety-form-card {
    padding: 15px;

  }

  .safety-form-form-actions {
    flex-direction: column-reverse;

  }

  .safety-form-form-actions .safety-form-link-button {
    width: 100%;

  }

  .safety-wizard-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;

  }

  .safety-wizard-progress-copy {
    min-width: 0;

  }

  .safety-form-wizard-progress {
    width: 100%;

  }

  .safety-wizard-tabs {
    padding: 8px;
    gap: 2px;

  }

  .safety-wizard-tabs button {
    display: grid;
    place-items: center;
    gap: 2px;

  }

  .safety-wizard-tabs button span {
    font-size: 7px;

  }

  .safety-form-wizard-step {
    padding: 18px 14px;

  }

  .safety-step-intro h2 {
    font-size: 18px;

  }

  .safety-form-photo-grid,.safety-detail-photo-grid {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-form-photo-card,.safety-photo-picker {
    min-height: 190px;

  }

  .safety-step-intro.photo-intro {
    align-items: flex-start;

  }

  .safety-form-extra-upload {
    align-items: flex-start;
    flex-direction: column;

  }

  .safety-form-extra-button {
    width: 100%;

  }

  .safety-form-review-grid {
    grid-template-columns: 1fr 1fr;

  }

  .safety-form-wizard-actions {
    padding: 12px;
    flex-wrap: wrap;

  }

  .safety-form-wizard-actions .spacer {
    display: none;

  }

  .safety-form-wizard-actions [data-cancel-link] {
    margin-left: auto;

  }

  .safety-form-wizard-actions .final {
    flex: 1;

  }

  .safety-detail-list {
    grid-template-columns: 1fr;

  }

  .safety-detail-head-actions {
    width: 100%;
    justify-content: space-between;

  }

  .claim-detail-head {
    align-items: flex-start;

  }

  .safety-form-review-photos {
    align-items: flex-start;
    flex-direction: column;

  }

  .safety-table-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    overflow: visible;

  }

  .safety-table-scroll {
    overflow: visible;

  }

  .safety-table,.safety-table tbody,.safety-table tr,.safety-table td {
    display: block;

  }

  .safety-table thead {
    display: none;

  }

  .safety-table tr {
    margin-bottom: 8px;
    border: 1px solid var(--safety-form-line);
    border-radius: 12px;
    background: #fff;
    overflow: hidden;

  }

  .safety-table td {
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 8px;
    padding: 8px 12px;
    border-top: 0;
    border-bottom: 1px solid #edf1f4;

  }

  .safety-table td::before {
    content: attr(data-label);
    color: #8995a4;
    font-size: 8px;
    font-weight: 900;

  }

  .safety-table td:last-child {
    border-bottom: 0;

  }

  .safety-table-action {
    text-align: left!important;

  }
}

@media(max-width:430px) {
  .safety-form-photo-grid,.safety-detail-photo-grid {
    grid-template-columns: 1fr 1fr;
    gap: 7px;

  }

  .safety-form-photo-card,.safety-photo-picker {
    min-height: 178px;

  }

  .safety-form-photo-preview {
    height: 96px;

  }

  .safety-form-review-grid {
    grid-template-columns: 1fr;

  }

  .safety-wizard-tabs button span {
    display: none;

  }

  .safety-wizard-tabs button {
    min-height: 34px;

  }

  .safety-form-wizard-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;

  }

  .safety-form-wizard-actions .safety-form-link-button {
    width: 100%;
    margin: 0;

  }

  .safety-form-wizard-actions .final {
    grid-column: 1/-1;

  }

  .safety-step-intro.photo-intro {
    display: grid;

  }

  .safety-form-photo-counter {
    text-align: left;

  }
}


/* ---- resources/styles/30-brand-and-claim-form.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 30-brand-and-claim-form.css
 * 화면: 브랜드·대시보드·기본 가독성
 * 수정: 로고, PC 글자 크기, 대시보드 배치
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

:root {
  --safety-claim-navy: #102b49;
  --safety-claim-navy-medium: #173e68;
  --safety-claim-yellow: #ffd63f;
  --safety-claim-yellow-deep: #f3c900;
  --safety-claim-bg: #f3f6f9;
  --safety-claim-card: #ffffff;
  --safety-claim-text: #1d2b3c;
  --safety-claim-muted: #69798d;
  --safety-claim-line: #dce4eb;
  --safety-claim-blue: #2e6fae;
  --safety-claim-green: #167659;
  --safety-claim-red: #b43743;
  --safety-claim-shadow: 0 12px 34px rgba(16,43,73,.08);
}

html {
  font-size: 16px;
}

body {
  font-size: 14px;
}

.safety-brand-logo {
  display: block;
  width: 150px;
  height: auto;
  object-fit: contain;
}

.safety-brand-logo.compact {
  width: 118px;
}

.safety-brand-logo.login {
  width: 190px;
}

.safety-brand-logo.sidebar {
  width: 168px;
}

.safety-admin-brand .safety-tb-mark,.safety-store-brand .safety-tb-mark,.safety-login-symbol,.safety-tirebank {
  display: none!important;
}

.safety-admin-brand {
  gap: 8px!important;
}

.safety-store-brand {
  gap: 12px!important;
}

.safety-store-brand .safety-brand-logo {
  width: 112px;
}

@media(min-width:900px) {
  .safety-admin-menu a {
    font-size: 13px!important;
    min-height: 46px!important;
    padding: 11px 13px!important;

  }

  .safety-admin-menu a .icon {
    font-size: 17px!important;

  }

  .safety-admin-brand strong {
    font-size: 20px!important;

  }

  .safety-admin-brand small {
    font-size: 10px!important;

  }

  .safety-admin-user strong {
    font-size: 12px!important;

  }

  .safety-admin-user small {
    font-size: 10px!important;

  }

  .safety-admin-topbar {
    height: 70px!important;
  }

  .safety-admin-topbar strong {
    font-size: 18px!important;

  }

  .safety-admin-actions a,.safety-admin-actions button {
    font-size: 11px!important;
    padding: 9px 12px!important;

  }

  .safety-admin-main {
    padding: 28px 30px!important;
    max-width: 1540px!important;

  }

  .safety-store-topbar {
    height: 74px!important;

  }

  .safety-store-brand strong {
    font-size: 15px!important;

  }

  .safety-store-brand small {
    font-size: 10px!important;
    margin-top: 4px!important;

  }

  .safety-store-account-actions button {
    font-size: 11px!important;
    padding: 9px 12px!important;

  }

  .safety-store-main {
    width: min(1180px,calc(100% - 44px))!important;
    margin: 26px auto!important;

  }

  .safety-store-bottom-nav a>small {
    font-size: 10px!important;

  }

  .safety-page-intro h1,.safety-edit-page-heading h1 {
    font-size: 32px!important;

  }

  .safety-page-intro p,.safety-edit-page-heading p {
    font-size: 13px!important;

  }

  .safety-kicker,.safety-eyebrow-dark,.safety-eyebrow-light {
    font-size: 10px!important;

  }

  .safety-form-link-button,.safety-shell-button {
    font-size: 12px!important;
    min-height: 44px!important;
    padding: 10px 15px!important;

  }

  .safety-form-info-banner {
    font-size: 12px!important;
    padding: 14px 16px!important;

  }

  .safety-form-info-banner strong {
    font-size: 12px!important;

  }

  .safety-table th {
    font-size: 11px!important;
    padding: 13px 15px!important;

  }

  .safety-table td {
    font-size: 12px!important;
    padding: 15px!important;

  }

  .safety-table td strong {
    font-size: 12px!important;

  }

  .safety-table-sub,.safety-muted-code,.safety-form-state,.safety-form-status {
    font-size: 10px!important;

  }

  .safety-table-action a {
    font-size: 11px!important;

  }

  .safety-form-card {
    padding: 26px!important;

  }

  .safety-form-card-head h2,.safety-form-section-head h2,.safety-card-headline h2 {
    font-size: 21px!important;

  }

  .safety-form-card-head p,.safety-form-section-head p {
    font-size: 12px!important;

  }

  .safety-form-form-grid label>span,.safety-form-field>label,.safety-review-actions label>span {
    font-size: 13px!important;

  }

  .safety-form-form-grid input,.safety-form-form-grid select,.safety-form-form-grid textarea,.safety-form-field input,.safety-form-field select,.safety-form-field textarea,.safety-review-actions textarea {
    font-size: 13px!important;
    min-height: 48px!important;
    padding: 11px 13px!important;

  }

  .safety-form-form-grid label>small,.safety-form-field small {
    font-size: 10px!important;

  }

  .safety-policy-chip {
    font-size: 10px!important;
    padding: 7px 10px!important;

  }

  .safety-kpi>span,.safety-kpi>small {
    font-size: 11px!important;

  }

  .safety-kpi>strong {
    font-size: 30px!important;

  }

  .safety-shell-panel-head h2 {
    font-size: 20px!important;

  }

  .safety-shell-panel-head p {
    font-size: 11px!important;

  }

  .safety-shell-panel-head>a {
    font-size: 11px!important;

  }

  .safety-table-head,.safety-table-row {
    font-size: 11px!important;

  }

  .safety-table-row strong {
    font-size: 12px!important;

  }
}

.safety-login-card {
  width: min(510px,100%)!important;
  padding: 42px!important;
}

.safety-login-card h2 {
  font-size: 32px!important;
}

.safety-login-desc {
  font-size: 13px!important;
}

.safety-login-form label>span {
  font-size: 13px!important;
}

.safety-login-form input {
  font-size: 14px!important;
  min-height: 52px!important;
}

.safety-login-button {
  font-size: 14px!important;
  min-height: 52px!important;
}

.safety-login-guide strong {
  font-size: 12px!important;
}

.safety-login-guide p {
  font-size: 11px!important;
}

.safety-login-foot {
  font-size: 10px!important;
}

.safety-login-copy>p {
  font-size: 15px!important;
}

.safety-flow strong {
  font-size: 14px!important;
}

.safety-flow small {
  font-size: 10px!important;
}

.safety-flow span {
  font-size: 11px!important;
}

.safety-login-logo {
  margin-bottom: 22px;
}

.safety-login-logo img {
  display: block;
  width: 210px;
  height: auto;
}

.safety-login-visual-logo {
  position: relative;
  z-index: 2;
  display: inline-flex;
  padding: 8px;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 26px rgba(0,0,0,.16);
}

.safety-login-visual-logo img {
  width: 180px;
  height: auto;
  display: block;
}

.claim-create-head {
  max-width: 1160px;
  margin-left: auto!important;
  margin-right: auto!important;
}

.claim-create-head .safety-kicker {
  color: #7b8999;
}

.safety-claim-wizard {
  max-width: 1160px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid var(--safety-claim-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--safety-claim-shadow);
}

.safety-wizard-top {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 18px 24px;
  border-bottom: 1px solid #e9eef2;
  background: linear-gradient(180deg,#fbfcfd,#f8fafb);
}

.safety-wizard-title {
  min-width: 240px;
}

.safety-wizard-title>span {
  display: block;
  color: #7b8999;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.safety-wizard-title>strong {
  display: inline-block;
  margin-top: 5px;
  color: var(--safety-claim-navy);
  font-size: 15px;
}

.safety-wizard-title>small {
  display: inline-block;
  margin-left: 9px;
  color: #66778a;
  font-size: 12px;
  font-weight: 800;
}

.safety-claim-wizard-progress {
  flex: 1;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6ecf1;
}

.safety-claim-wizard-progress>span {
  display: block;
  width: 25%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,var(--safety-claim-yellow),var(--safety-claim-yellow-deep));
  transition: width .22s ease;
}

.safety-stepper {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0;
  padding: 13px 18px;
  border-bottom: 1px solid #e9eef2;
  background: #fff;
}

.safety-stepper button {
  position: relative;
  display: grid;
  grid-template-columns: 36px 1fr;
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 10px 13px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #7d8b9d;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.safety-stepper button b {
  grid-row: 1/3;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf1f4;
  color: #6e7d8d;
  font-size: 12px;
}

.safety-stepper button span {
  font-size: 13px;
  font-weight: 900;
}

.safety-stepper button small {
  font-size: 10px;
  color: #95a0ac;
}

.safety-stepper button.active {
  background: #f5f8fa;
  color: var(--safety-claim-navy);
}

.safety-stepper button.active b {
  background: var(--safety-claim-yellow);
  color: #243445;
}

.safety-stepper button.done b {
  background: var(--safety-claim-navy);
  color: #fff;
}

.safety-claim-wizard-step {
  display: none;
  padding: 30px 32px 34px;
}

.safety-claim-wizard-step.active {
  display: block;
}

.safety-section-title {
  margin-bottom: 24px;
}

.safety-section-title>span,.safety-section-title>div>span {
  display: block;
  color: #8190a1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
}

.safety-section-title h2 {
  margin: 6px 0 0;
  color: var(--safety-claim-text);
  font-size: 25px;
  letter-spacing: -.035em;
}

.safety-section-title p {
  margin: 8px 0 0;
  color: var(--safety-claim-muted);
  font-size: 13px;
  line-height: 1.65;
}

.safety-section-title.photo {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}

.safety-store-summary {
  display: grid;
  grid-template-columns: 1.3fr .7fr .9fr 1.2fr;
  gap: 10px;
  margin-bottom: 22px;
  padding: 14px;
  border: 1px solid #e5d477;
  border-radius: 14px;
  background: #fffbea;
}

.safety-store-summary>div {
  padding: 8px 10px;
  border-right: 1px solid #eee2a7;
}

.safety-store-summary>div:last-child {
  border-right: 0;
}

.safety-store-summary span {
  display: block;
  color: #8b7c3c;
  font-size: 10px;
  font-weight: 800;
}

.safety-store-summary strong {
  display: block;
  margin-top: 5px;
  color: #27384b;
  font-size: 13px;
  word-break: break-word;
}

.safety-claim-form-grid {
  display: grid;
  gap: 17px;
}

.safety-claim-form-grid.two {
  grid-template-columns: 1fr 1fr;
}

.safety-claim-field {
  min-width: 0;
}

.safety-claim-field.full {
  grid-column: 1/-1;
}

.safety-claim-field label {
  display: block;
  margin-bottom: 7px;
  color: #3b4d61;
  font-size: 13px;
  font-weight: 900;
}

.safety-claim-field label b,.safety-tire-size-block>b,.safety-tire-size-block>strong b {
  color: #bf3c47;
}

.safety-claim-field input,.safety-claim-field select,.safety-claim-field textarea,.safety-claim-wizard-step>select {
  width: 100%;
  min-height: 50px;
  padding: 12px 13px;
  border: 1px solid #ced9e2;
  border-radius: 11px;
  background: #fff;
  color: var(--safety-claim-text);
  font: inherit;
  font-size: 14px;
  outline: none;
  transition: .15s;
}

.safety-claim-field textarea {
  min-height: 135px;
  resize: vertical;
  line-height: 1.65;
}

.safety-claim-field input:focus,.safety-claim-field select:focus,.safety-claim-field textarea:focus {
  border-color: #6e8ba6;
  box-shadow: 0 0 0 3px rgba(46,111,174,.09);
}

.safety-claim-field input.safety-invalid,.safety-claim-field select.safety-invalid,.safety-claim-field textarea.safety-invalid {
  border-color: #c54550;
  background: #fff8f8;
  box-shadow: 0 0 0 3px rgba(196,69,80,.08);
}

.safety-privacy-note,.safety-claim-upload-notice {
  margin-top: 18px;
  padding: 12px 14px;
  border-radius: 11px;
  background: #f4f7f9;
  color: #68788a;
  font-size: 11px;
  line-height: 1.6;
}

.safety-claim-upload-notice {
  margin: 0 0 15px;
  border: 1px solid #ead477;
  background: #fff9df;
  color: #6e5f27;
}

.safety-tire-size-block {
  margin-bottom: 18px;
  padding: 17px;
  border: 1px solid #dbe4eb;
  border-radius: 14px;
  background: #f8fafb;
}

.safety-tire-size-block>strong {
  display: block;
  margin-bottom: 11px;
  color: #3a4c60;
  font-size: 13px;
}

.safety-tire-size-grid {
  display: grid;
  grid-template-columns: 1fr 28px 1fr 28px 1fr;
  align-items: end;
  gap: 8px;
}

.safety-tire-size-grid>span {
  padding-bottom: 15px;
  color: #536579;
  font-size: 21px;
  font-weight: 900;
  text-align: center;
}

.safety-tire-size-grid label {
  display: grid;
  gap: 7px;
  color: #778697;
  font-size: 11px;
  font-weight: 800;
}

.safety-tire-size-grid input {
  width: 100%;
  min-height: 52px;
  padding: 12px;
  border: 1px solid #cad6df;
  border-radius: 11px;
  background: #fff;
  font: inherit;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
  outline: none;
}

.safety-tire-size-grid input:focus {
  border-color: #6e8ba6;
  box-shadow: 0 0 0 3px rgba(46,111,174,.09);
}

.safety-claim-photo-counter {
  text-align: right;
  flex-shrink: 0;
}

.safety-claim-photo-counter strong {
  display: block;
  color: var(--safety-claim-navy);
  font-size: 30px;
  line-height: 1;
}

.safety-claim-photo-counter small {
  display: block;
  margin-top: 5px;
  color: #7d8b9d;
  font-size: 10px;
  font-weight: 900;
}

.safety-claim-photo-progress {
  height: 9px;
  margin-bottom: 18px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8edf2;
}

.safety-claim-photo-progress>span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,var(--safety-claim-yellow),var(--safety-claim-yellow-deep));
  transition: width .2s;
}

.safety-claim-upload-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}

.safety-claim-photo-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #d7e0e8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(16,43,73,.04);
  transition: .18s;
}

.safety-claim-photo-card:hover {
  transform: translateY(-2px);
  border-color: #abbcca;
  box-shadow: 0 10px 25px rgba(16,43,73,.09);
}

.safety-claim-photo-card.filled {
  border-color: #ddbd31;
  background: #fffdf6;
}

.safety-claim-photo-order {
  position: absolute;
  z-index: 5;
  top: 10px;
  left: 10px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--safety-claim-navy);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
}

.safety-claim-photo-card.filled .safety-claim-photo-order {
  background: var(--safety-claim-yellow);
  color: #263748;
}

.safety-claim-photo-preview {
  position: relative;
  height: 170px;
  background: #eef3f6 center/cover no-repeat;
  border-bottom: 1px solid #e0e7ed;
}

.safety-claim-photo-preview::after {
  content: "";
  position: absolute;
  inset: 55% 0 0;
  background: linear-gradient(transparent,rgba(10,31,51,.10));
  pointer-events: none;
}

.safety-photo-empty {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  color: #8794a2;
  text-align: center;
}

.safety-photo-empty>span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #e2e9ef;
  color: #506579;
  font-size: 25px;
}

.safety-photo-empty small {
  font-size: 11px;
  font-weight: 900;
}

.safety-photo-copy {
  padding: 14px 14px 8px;
}

.safety-photo-copy strong {
  display: block;
  color: #2e4053;
  font-size: 14px;
}

.safety-photo-copy small {
  display: block;
  min-height: 34px;
  margin-top: 5px;
  color: #7b8999;
  font-size: 10px;
  line-height: 1.5;
}

.safety-photo-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  padding: 8px 12px 12px;
}

.safety-photo-btn {
  min-height: 40px;
  border: 1px solid #ced9e2;
  border-radius: 10px;
  background: #fff;
  color: #506176;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.safety-photo-btn.gallery:hover {
  background: #f4f7f9;
}

.safety-photo-btn.camera {
  border-color: #dcbf37;
  background: #fff7d0;
  color: #5f500a;
}

.safety-photo-btn.camera:hover {
  background: #ffef9b;
}

.safety-photo-file {
  overflow: hidden;
  margin: 0 12px 13px;
  padding: 7px 9px;
  border-radius: 8px;
  background: #f2f5f7;
  color: #7d8997;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.safety-claim-photo-clear {
  display: none;
  position: absolute;
  z-index: 7;
  top: 9px;
  right: 9px;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: rgba(12,34,55,.90);
  color: #fff;
  font-size: 16px;
  cursor: pointer;
}

.safety-claim-photo-card.has-selection .safety-claim-photo-clear {
  display: block;
}

.safety-claim-extra-upload {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
  padding: 16px;
  border: 1px dashed #b9c8d4;
  border-radius: 14px;
  background: #fafcfd;
}

.safety-claim-extra-upload strong {
  display: block;
  color: #33485d;
  font-size: 13px;
}

.safety-claim-extra-upload strong span {
  color: #8794a3;
  font-size: 10px;
  font-weight: 700;
}

.safety-claim-extra-upload p {
  margin: 5px 0 0;
  color: #7f8d9c;
  font-size: 11px;
}

.safety-claim-extra-button {
  display: inline-flex!important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 13px;
  border: 1px solid #ced9e2;
  border-radius: 10px;
  background: #fff;
  color: var(--safety-claim-navy);
  font-size: 11px!important;
  font-weight: 900;
  cursor: pointer;
}

.safety-claim-extra-button input {
  display: none;
}

.safety-claim-extra-selected,.safety-claim-existing-files {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.safety-claim-extra-selected span,.safety-claim-existing-files a {
  max-width: 230px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef3f7;
  color: #627286;
  font-size: 10px;
}

.safety-claim-review-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
}

.safety-claim-review-grid>div,.safety-claim-review-description,.safety-claim-review-photos {
  padding: 15px;
  border: 1px solid #dfe6ec;
  border-radius: 13px;
  background: #fafbfd;
}

.safety-claim-review-grid span,.safety-claim-review-description>span,.safety-claim-review-photos span {
  display: block;
  color: #7f8c9c;
  font-size: 10px;
  font-weight: 900;
}

.safety-claim-review-grid strong {
  display: block;
  margin-top: 6px;
  color: #2c3f52;
  font-size: 13px;
  word-break: break-word;
}

.safety-claim-review-grid strong b {
  font: inherit;
}

.safety-claim-review-description {
  margin-top: 10px;
}

.safety-claim-review-description p {
  margin: 7px 0 0;
  color: #4f6073;
  font-size: 13px;
  line-height: 1.65;
  white-space: pre-wrap;
}

.safety-claim-review-photos {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 10px;
}

.safety-claim-review-photos strong {
  display: block;
  margin-top: 3px;
  color: var(--safety-claim-navy);
  font-size: 24px;
}

.safety-claim-review-photos p {
  margin: 0;
  color: #758496;
  font-size: 11px;
}

.safety-claim-step-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 17px 22px;
  border-top: 1px solid #e8edf1;
  background: #fafbfd;
}

.safety-claim-step-actions .spacer {
  flex: 1;
}

.safety-form-step-button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 11px;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.safety-form-step-button.secondary {
  border: 1px solid #ced8e1;
  background: #fff;
  color: #58697c;
}

.safety-form-step-button.primary {
  border: 1px solid var(--safety-claim-navy);
  background: var(--safety-claim-navy);
  color: #fff;
}

.safety-form-step-button.final {
  border: 1px solid #e4c228;
  background: var(--safety-claim-yellow);
  color: #203142;
}

.safety-store-form-shell {
  display: grid;
  grid-template-columns: minmax(0,1.55fr) minmax(310px,.7fr);
  gap: 18px;
  align-items: start;
}

.safety-store-form-panel,.safety-store-policy-panel {
  border: 1px solid var(--safety-claim-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(16,43,73,.05);
}

.safety-store-form-panel {
  padding: 26px;
}

.safety-store-policy-panel {
  padding: 22px;
  position: sticky;
  top: 90px;
}

.safety-card-title {
  margin-bottom: 21px;
}

.safety-card-title span {
  display: block;
  color: #8390a0;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
}

.safety-card-title h2 {
  margin: 6px 0 0;
  color: var(--safety-claim-text);
  font-size: 22px;
}

.safety-card-title p {
  margin: 6px 0 0;
  color: var(--safety-claim-muted);
  font-size: 12px;
  line-height: 1.6;
}

.safety-policy-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 17px;
  padding: 13px;
  border-radius: 13px;
  background: #f5f7f9;
}

.safety-policy-logo img {
  width: 180px;
  height: auto;
}

.safety-policy-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.safety-policy-list li {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid #edf1f4;
  color: #68788a;
  font-size: 12px;
}

.safety-policy-list li:last-child {
  border-bottom: 0;
}

.safety-policy-list strong {
  color: #34485c;
}

.safety-policy-highlight {
  margin-top: 14px;
  padding: 13px;
  border-radius: 11px;
  background: #fff8d8;
  color: #65560d;
  font-size: 11px;
  line-height: 1.6;
}

.safety-admin-store-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.safety-admin-store-field.full {
  grid-column: 1/-1;
}

.safety-admin-store-field label {
  display: block;
  margin-bottom: 7px;
  color: #405267;
  font-size: 13px;
  font-weight: 900;
}

.safety-admin-store-field input {
  width: 100%;
  min-height: 50px;
  padding: 12px 13px;
  border: 1px solid #ced9e2;
  border-radius: 11px;
  font: inherit;
  font-size: 14px;
  outline: none;
}

.safety-admin-store-field input:focus {
  border-color: #708da8;
  box-shadow: 0 0 0 3px rgba(46,111,174,.08);
}

.safety-admin-store-field small {
  display: block;
  margin-top: 6px;
  color: #8592a1;
  font-size: 10px;
  line-height: 1.5;
}

.safety-admin-store-actions {
  grid-column: 1/-1;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}

.safety-request-error-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: linear-gradient(145deg,#eef3f7,#fff);
}

.safety-request-error-card {
  width: min(560px,100%);
  padding: 34px;
  border: 1px solid #dce4eb;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(16,43,73,.12);
  text-align: center;
}

.safety-request-error-card img {
  width: 190px;
  height: auto;
}

.safety-request-error-code {
  display: block;
  margin: 22px 0 5px;
  color: #b23c46;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
}

.safety-request-error-card h1 {
  margin: 0;
  color: var(--safety-claim-navy);
  font-size: 28px;
}

.safety-request-error-card p {
  margin: 12px 0 20px;
  color: #69798b;
  font-size: 13px;
  line-height: 1.7;
}

.safety-request-error-actions {
  display: flex;
  justify-content: center;
  gap: 8px;
}

.safety-detail-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #edf1f4;
}

.safety-detail-section h3 {
  margin: 0 0 10px;
  color: #304357;
  font-size: 15px;
}

.safety-detail-data {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 0;
}

.safety-detail-data>div {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #edf1f4;
}

.safety-detail-data dt {
  color: #7d8b9d;
  font-size: 11px;
}

.safety-detail-data dd {
  margin: 0;
  color: #36495d;
  font-size: 12px;
  word-break: break-word;
}

@media(max-width:1050px) {
  .safety-claim-upload-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .safety-store-form-shell {
    grid-template-columns: 1fr;

  }

  .safety-store-policy-panel {
    position: static;

  }

  .safety-store-summary {
    grid-template-columns: 1fr 1fr;

  }

  .safety-store-summary>div {
    border-right: 0;
    border-bottom: 1px solid #eee2a7;

  }

  .safety-store-summary>div:nth-last-child(-n+2) {
    border-bottom: 0;

  }
}

@media(max-width:760px) {
  body {
    font-size: 13px;

  }

  .safety-brand-logo {
    width: 115px;

  }

  .safety-store-brand .safety-brand-logo {
    width: 92px;

  }

  .safety-wizard-top {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    padding: 14px;

  }

  .safety-wizard-title {
    min-width: 0;

  }

  .safety-claim-wizard-progress {
    width: 100%;

  }

  .safety-stepper {
    padding: 8px;
    gap: 3px;

  }

  .safety-stepper button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 62px;
    padding: 7px;
    text-align: center;

  }

  .safety-stepper button b {
    grid-row: auto;
    width: 28px;
    height: 28px;

  }

  .safety-stepper button span {
    font-size: 10px;

  }

  .safety-stepper button small {
    display: none;

  }

  .safety-claim-wizard-step {
    padding: 22px 15px 26px;

  }

  .safety-section-title h2 {
    font-size: 21px;

  }

  .safety-section-title p {
    font-size: 11px;

  }

  .safety-section-title.photo {
    align-items: flex-start;
    flex-direction: column;

  }

  .safety-claim-photo-counter {
    text-align: left;

  }

  .safety-claim-form-grid.two,.safety-admin-store-grid {
    grid-template-columns: 1fr;

  }

  .safety-claim-field.full,.safety-admin-store-field.full,.safety-admin-store-actions {
    grid-column: auto;

  }

  .safety-claim-field label,.safety-admin-store-field label {
    font-size: 12px;

  }

  .safety-claim-field input,.safety-claim-field select,.safety-claim-field textarea,.safety-admin-store-field input {
    font-size: 13px;
    min-height: 48px;

  }

  .safety-tire-size-grid {
    grid-template-columns: 1fr 18px 1fr 18px 1fr;

  }

  .safety-tire-size-grid>span {
    font-size: 18px;

  }

  .safety-tire-size-grid input {
    font-size: 14px;

  }

  .safety-claim-upload-grid {
    grid-template-columns: 1fr 1fr;
    gap: 8px;

  }

  .safety-claim-photo-preview {
    height: 130px;

  }

  .safety-photo-copy {
    padding: 11px 10px 6px;

  }

  .safety-photo-copy strong {
    font-size: 12px;

  }

  .safety-photo-copy small {
    font-size: 9px;

  }

  .safety-photo-actions {
    grid-template-columns: 1fr;
    padding: 6px 9px 9px;

  }

  .safety-photo-btn {
    font-size: 10px;
    min-height: 37px;

  }

  .safety-photo-file {
    margin: 0 9px 10px;
    font-size: 8px;

  }

  .safety-claim-extra-upload {
    align-items: flex-start;
    flex-direction: column;

  }

  .safety-claim-extra-button {
    width: 100%;

  }

  .safety-claim-review-grid {
    grid-template-columns: 1fr 1fr;

  }

  .safety-claim-step-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 12px;

  }

  .safety-claim-step-actions .spacer {
    display: none;

  }

  .safety-claim-step-actions .final {
    grid-column: 1/-1;

  }

  .safety-form-step-button {
    width: 100%;
    font-size: 11px;

  }

  .safety-store-form-panel,.safety-store-policy-panel {
    padding: 17px;

  }

  .safety-admin-store-actions {
    flex-direction: column-reverse;

  }

  .safety-admin-store-actions .safety-form-step-button {
    width: 100%;

  }

  .safety-detail-data {
    grid-template-columns: 1fr;

  }
}

@media(max-width:430px) {
  .safety-claim-upload-grid {
    grid-template-columns: 1fr 1fr;

  }

  .safety-claim-photo-preview {
    height: 112px;

  }

  .safety-claim-photo-order {
    width: 25px;
    height: 25px;

  }

  .safety-claim-review-grid {
    grid-template-columns: 1fr;

  }

  .safety-store-summary {
    grid-template-columns: 1fr;

  }

  .safety-store-summary>div {
    border-bottom: 1px solid #eee2a7!important;

  }

  .safety-store-summary>div:last-child {
    border-bottom: 0!important;

  }

  .safety-login-card {
    padding: 27px 20px!important;

  }

  .safety-login-logo img {
    width: 170px;

  }

  .safety-login-card h2 {
    font-size: 28px!important;

  }
}

.alert {
  font-size: 12px!important;
  line-height: 1.6;
}

.alert strong {
  font-size: 13px;
}

.alert li {
  margin: 3px 0;
}

@media(min-width:900px) {
  .alert {
    font-size: 13px!important;
    padding: 15px 17px!important;

  }

  .alert strong {
    font-size: 14px!important;

  }
}


/* ---- resources/styles/40-workflows.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 40-workflows.css
 * 화면: 접수 흐름·기간검색·대시보드
 * 수정: 접수 단계, 검색 패널, 관리자·매장 요약
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

:root {
  --safety-workflow-navy: #102b49;
  --safety-workflow-yellow: #ffd63f;
  --safety-workflow-bg: #f3f6f9;
  --safety-workflow-text: #18283a;
  --safety-workflow-muted: #657588;
  --safety-workflow-line: #dce4eb;
}

@media(min-width:900px) {
  .safety-admin-body {
    font-size: 16px!important;

  }

  .safety-admin-sidebar {
    width: 270px!important;
    padding: 24px 17px!important;

  }

  .safety-admin-shell {
    grid-template-columns: 270px minmax(0,1fr)!important;

  }

  .safety-admin-workspace {
    grid-column: 2!important;

  }

  .safety-admin-brand strong {
    font-size: 22px!important;

  }

  .safety-admin-menu a {
    min-height: 50px!important;
    font-size: 15px!important;
    padding: 12px 14px!important;

  }

  .safety-admin-menu a .icon {
    font-size: 18px!important;
    width: 24px!important;

  }

  .safety-admin-user strong {
    font-size: 14px!important;

  }

  .safety-admin-user small {
    font-size: 12px!important;

  }

  .safety-admin-topbar {
    height: 72px!important;
    padding: 0 30px!important;

  }

  .safety-admin-topbar strong {
    font-size: 20px!important;

  }

  .safety-admin-actions a,.safety-admin-actions button {
    font-size: 13px!important;
    padding: 10px 13px!important;

  }

  .safety-admin-main {
    padding: 30px!important;
    max-width: 1680px!important;

  }

  .safety-form-link-button,.safety-primary-button,.safety-secondary-button {
    font-size: 14px!important;
    min-height: 46px!important;

  }

  .safety-table {
    font-size: 14px!important;

  }

  .safety-table th {
    font-size: 13px!important;

  }

  .safety-table td {
    font-size: 14px!important;
    padding: 15px 13px!important;

  }

  .safety-form-status {
    font-size: 12px!important;
    padding: 7px 10px!important;

  }
}

.safety-top-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid #d6dfe7;
  border-radius: 9px;
  background: #fff;
  color: #55667a;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}

.safety-guide-page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.safety-guide-page-heading h1 {
  margin: 0;
  color: var(--safety-workflow-text);
  font-size: 30px;
  letter-spacing: -.04em;
}

.safety-guide-page-heading p {
  margin: 7px 0 0;
  color: var(--safety-workflow-muted);
  font-size: 14px;
  line-height: 1.6;
}

.safety-primary-button,.safety-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 15px;
  border-radius: 10px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  font-family: inherit;
}

.safety-primary-button {
  border: 1px solid var(--safety-workflow-navy);
  background: var(--safety-workflow-navy);
  color: #fff;
}

.safety-secondary-button {
  border: 1px solid #ced9e3;
  background: #fff;
  color: #536477;
}

.safety-store-overview {
  display: grid;
  gap: 16px;
}

.safety-workflow-store-hero {
  position: relative;
  overflow: hidden;
  min-height: 280px;
  display: flex;
  align-items: center;
  padding: 38px 42px;
  border-radius: 24px;
  background: linear-gradient(135deg,#0b223b,#17456f);
  color: #fff;
  box-shadow: 0 15px 40px rgba(16,43,73,.16);
}

.safety-workflow-store-hero:after {
  content: '';
  position: absolute;
  right: -80px;
  top: -95px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  border: 70px solid rgba(255,214,63,.13);
}

.safety-workflow-store-hero>div {
  position: relative;
  z-index: 2;
  max-width: 700px;
}

.safety-workflow-store-hero>div>span {
  display: inline-block;
  margin-bottom: 12px;
  color: var(--safety-workflow-yellow);
  font-size: 15px;
  font-weight: 900;
}

.safety-workflow-store-hero h1 {
  margin: 0;
  font-size: 40px;
  line-height: 1.22;
  letter-spacing: -.05em;
}

.safety-workflow-store-hero p {
  margin: 14px 0 22px;
  color: #c9d9e7;
  font-size: 15px;
  line-height: 1.7;
}

.safety-workflow-store-hero a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 13px 17px;
  border-radius: 11px;
  background: var(--safety-workflow-yellow);
  color: #172637;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.safety-workflow-store-quick {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.safety-workflow-store-quick a {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 22px;
  border: 1px solid var(--safety-workflow-line);
  border-radius: 18px;
  background: #fff;
  color: var(--safety-workflow-text);
  text-decoration: none;
}

.safety-workflow-store-quick a.primary {
  background: #fff8d7;
  border-color: #ead16b;
}

.safety-workflow-store-quick>a>span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #edf3f7;
  font-size: 25px;
  font-weight: 900;
}

.safety-workflow-store-quick a.primary>span {
  background: var(--safety-workflow-yellow);
}

.safety-workflow-store-quick strong {
  display: block;
  font-size: 18px;
}

.safety-workflow-store-quick small {
  display: block;
  margin-top: 5px;
  color: #7b8999;
  font-size: 13px;
}

.safety-store-status,.safety-workflow-panel {
  border: 1px solid var(--safety-workflow-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(16,43,73,.05);
}

.safety-workflow-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px 22px 14px;
}

.safety-workflow-panel-head h2 {
  margin: 0;
  font-size: 20px;
}

.safety-workflow-panel-head a {
  color: #375e83;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.safety-workflow-store-kpis {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  padding: 0 22px 22px;
}

.safety-workflow-store-kpis>div {
  padding: 17px;
  border-right: 1px solid #edf1f4;
}

.safety-workflow-store-kpis>div:last-child {
  border-right: 0;
}

.safety-workflow-store-kpis strong {
  display: block;
  color: var(--safety-workflow-navy);
  font-size: 30px;
}

.safety-workflow-store-kpis span {
  display: block;
  margin-top: 5px;
  color: #728195;
  font-size: 13px;
}

.safety-check-note {
  padding: 18px 20px;
  border: 1px solid #efd873;
  border-radius: 16px;
  background: #fff9dc;
}

.safety-check-note strong {
  font-size: 15px;
  color: #463d08;
}

.safety-check-note p {
  margin: 6px 0 0;
  color: #756621;
  font-size: 13px;
  line-height: 1.6;
}

.safety-dashboard-recent-summary {
  display: grid;
  padding: 0 22px 16px;
}

.safety-dashboard-recent-summary>a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 4px;
  border-top: 1px solid #edf1f4;
  color: inherit;
  text-decoration: none;
}

.safety-dashboard-recent-summary>a:first-child {
  border-top: 0;
}

.safety-dashboard-recent-summary strong {
  display: block;
  font-size: 14px;
}

.safety-dashboard-recent-summary div span {
  display: block;
  margin-top: 5px;
  color: #748397;
  font-size: 12px;
}

.safety-admin-dashboard {
  display: grid;
  gap: 18px;
}

.safety-dashboard-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.safety-dashboard-heading h1 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -.04em;
}

.safety-dashboard-heading p {
  margin: 8px 0 0;
  color: var(--safety-workflow-muted);
  font-size: 15px;
}

.safety-workflow-admin-kpis {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
}

.safety-workflow-admin-kpis article {
  padding: 24px;
  border: 1px solid var(--safety-workflow-line);
  border-radius: 17px;
  background: #fff;
}

.safety-workflow-admin-kpis article.attention {
  background: #fff9df;
  border-color: #ead176;
}

.safety-workflow-admin-kpis span {
  display: block;
  color: #68788c;
  font-size: 14px;
}

.safety-workflow-admin-kpis strong {
  display: block;
  margin-top: 8px;
  color: var(--safety-workflow-navy);
  font-size: 36px;
}

.safety-admin-home-grid {
  display: grid;
  grid-template-columns: 1.4fr .8fr;
  gap: 16px;
}

.safety-dashboard-month-summary {
  display: grid;
  gap: 13px;
  padding: 2px 22px 22px;
}

.safety-dashboard-month-summary>div {
  display: grid;
  grid-template-columns: 78px 1fr 42px;
  gap: 10px;
  align-items: center;
  font-size: 13px;
}

.safety-dashboard-month-summary>div>div {
  height: 10px;
  border-radius: 99px;
  background: #ebf0f4;
  overflow: hidden;
}

.safety-dashboard-month-summary i {
  display: block;
  height: 100%;
  background: var(--safety-workflow-yellow);
  border-radius: 99px;
}

.safety-filter-panel {
  display: grid;
  grid-template-columns: minmax(220px,1.2fr) repeat(4,minmax(140px,.7fr)) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 16px;
  padding: 18px;
  border: 1px solid var(--safety-workflow-line);
  border-radius: 16px;
  background: #fff;
}

.safety-filter-field {
  display: grid;
  gap: 6px;
}

.safety-filter-field label {
  font-size: 13px;
  font-weight: 900;
  color: #425469;
}

.safety-filter-field input,.safety-filter-field select {
  width: 100%;
  min-height: 46px;
  padding: 10px 11px;
  border: 1px solid #cdd8e1;
  border-radius: 9px;
  background: #fff;
  font: inherit;
  font-size: 14px;
  color: #26394d;
}

.safety-filter-actions {
  display: flex;
  gap: 7px;
}

.safety-admin-claims {
  display: grid;
  gap: 14px;
}

.safety-admin-claim-card {
  border: 1px solid var(--safety-workflow-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(16,43,73,.05);
  overflow: hidden;
}

.safety-admin-claim-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 18px 20px;
  background: #f8fafc;
  border-bottom: 1px solid #e5ebf0;
}

.safety-admin-claim-head>div:first-child strong {
  display: block;
  color: #172b40;
  font-size: 17px;
}

.safety-admin-claim-head>div:first-child span {
  display: block;
  margin-top: 4px;
  color: #68798c;
  font-size: 13px;
}

.safety-admin-claim-head-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.safety-admin-claim-head-actions>a {
  padding: 9px 12px;
  border-radius: 9px;
  background: var(--safety-workflow-navy);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.safety-admin-value-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  margin: 0;
  padding: 10px 20px 18px;
}

.safety-admin-value-grid>div {
  padding: 11px 12px;
  border-bottom: 1px solid #edf1f4;
}

.safety-admin-value-grid>div.full {
  grid-column: 1/-1;
}

.safety-admin-value-grid dt {
  color: #778699;
  font-size: 12px;
}

.safety-admin-value-grid dd {
  margin: 5px 0 0;
  color: #293d52;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  word-break: break-word;
}

.safety-store-claims {
  display: grid;
  gap: 9px;
}

.safety-store-claim-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 18px;
  border: 1px solid var(--safety-workflow-line);
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.safety-store-claim-item>div>span {
  font-size: 11px;
  color: #8592a1;
}

.safety-store-claim-item strong {
  display: block;
  margin-top: 4px;
  font-size: 14px;
}

.safety-store-claim-item p {
  margin: 5px 0 0;
  color: #637286;
  font-size: 12px;
}

.safety-workflow-empty {
  padding: 28px;
  color: #7b899a;
  text-align: center;
  font-size: 14px;
}

.safety-guide-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.safety-guide-card {
  padding: 22px;
  border: 1px solid var(--safety-workflow-line);
  border-radius: 17px;
  background: #fff;
}

.safety-guide-card h2 {
  margin: 0 0 10px;
  font-size: 20px;
}

.safety-guide-card p,.safety-guide-card li {
  color: #536579;
  font-size: 14px;
  line-height: 1.75;
}

.safety-guide-card ol {
  margin: 0;
  padding-left: 22px;
}

.safety-claim-photo-input {
  position: absolute!important;
  width: 1px!important;
  height: 1px!important;
  opacity: 0!important;
  pointer-events: none!important;
}

.safety-photo-btn {
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  cursor: pointer!important;
}

@media(min-width:900px) {
  .safety-wizard-shell {
    font-size: 15px;

  }

  .safety-wizard-title h1 {
    font-size: 27px!important;

  }

  .safety-section-title h2 {
    font-size: 25px!important;

  }

  .safety-section-title p {
    font-size: 14px!important;

  }

  .safety-claim-field label {
    font-size: 14px!important;

  }

  .safety-claim-field input,.safety-claim-field select,.safety-claim-field textarea {
    font-size: 15px!important;
    min-height: 52px!important;

  }

  .safety-photo-copy strong {
    font-size: 14px!important;

  }

  .safety-photo-copy small {
    font-size: 12px!important;

  }

  .safety-photo-btn {
    font-size: 13px!important;

  }

  .safety-edit-page-heading h1 {
    font-size: 30px!important;

  }

  .safety-edit-page-heading p {
    font-size: 14px!important;

  }
}

@media(max-width:1100px) {
  .safety-filter-panel {
    grid-template-columns: repeat(3,1fr);

  }

  .safety-filter-actions {
    grid-column: 1/-1;

  }

  .safety-admin-value-grid {
    grid-template-columns: repeat(3,1fr);

  }
}

@media(max-width:760px) {
  .safety-guide-page-heading {
    align-items: flex-start;
    flex-direction: column;

  }

  .safety-guide-page-heading h1 {
    font-size: 25px;

  }

  .safety-guide-page-heading p {
    font-size: 12px;

  }

  .safety-workflow-store-hero {
    min-height: 240px;
    padding: 26px 22px;

  }

  .safety-workflow-store-hero h1 {
    font-size: 28px;

  }

  .safety-workflow-store-hero p {
    font-size: 12px;

  }

  .safety-workflow-store-quick {
    grid-template-columns: 1fr;

  }

  .safety-workflow-store-kpis {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-workflow-store-kpis>div {
    border-right: 0;
    border-bottom: 1px solid #edf1f4;

  }

  .safety-workflow-store-kpis>div:nth-last-child(-n+2) {
    border-bottom: 0;

  }

  .safety-workflow-admin-kpis {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-admin-home-grid {
    grid-template-columns: 1fr;

  }

  .safety-filter-panel {
    grid-template-columns: 1fr 1fr;
    padding: 13px;

  }

  .safety-filter-field.wide {
    grid-column: 1/-1;

  }

  .safety-filter-actions {
    grid-column: 1/-1;

  }

  .safety-filter-actions>* {
    flex: 1;

  }

  .safety-admin-value-grid {
    grid-template-columns: 1fr 1fr;
    padding-inline: 10px;

  }

  .safety-guide-grid {
    grid-template-columns: 1fr;

  }
}

@media(max-width:430px) {
  .safety-filter-panel {
    grid-template-columns: 1fr;

  }

  .safety-filter-field.wide,.safety-filter-actions {
    grid-column: auto;

  }

  .safety-admin-value-grid {
    grid-template-columns: 1fr;

  }

  .safety-workflow-store-kpis {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-top-link {
    display: none;

  }
}


/* ---- resources/styles/50-lists-and-detail.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 50-lists-and-detail.css
 * 화면: 접수·목록·상세 공통
 * 수정: 페이지 제목, 검색, 목록, 상태, 상세, 사진과 기본 폼
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

:root {
  --safety-app-navy: #102b49;
  --safety-app-navy-medium: #173b61;
  --safety-app-yellow: #ffd200;
  --safety-app-bg: #f5f7fb;
  --safety-app-line: #dfe5ec;
  --safety-app-text: #172230;
  --safety-app-muted: #6d7886;
  --safety-app-red: #c73737;
  --safety-app-green: #137a54;
}

.safety-page-heading,.safety-detail-head,.safety-store-home-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.safety-page-heading h1,.safety-detail-head h1,.safety-store-home-head h1 {
  margin: 0 0 5px;
  font-size: 28px;
  color: var(--safety-app-navy);
}

.safety-page-heading p,.safety-detail-head p,.safety-store-home-head p {
  margin: 0;
  color: var(--safety-app-muted);
  font-size: 15px;
}

.safety-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #ccd5df;
  border-radius: 9px;
  background: #fff;
  color: #26384b;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
}

.safety-action-button.primary {
  background: var(--safety-app-navy);
  border-color: var(--safety-app-navy);
  color: #fff;
}

.safety-action-button.success {
  background: var(--safety-app-green);
  border-color: var(--safety-app-green);
  color: #fff;
}

.safety-action-button.danger {
  background: var(--safety-app-red);
  border-color: var(--safety-app-red);
  color: #fff;
}

.safety-action-button.warning {
  background: #ffcf33;
  border-color: #ffcf33;
  color: #342900;
}

.safety-action-button.dark {
  background: #343a43;
  border-color: #343a43;
  color: #fff;
}

.safety-action-button.ghost {
  background: transparent;
}

.safety-action-button.ghost-danger {
  background: #fff;
  color: #a12d2d;
  border-color: #e4bcbc;
}

.safety-action-button.full {
  width: 100%;
}

.safety-action-button.large {
  min-height: 50px;
  font-size: 16px;
  padding: 0 22px;
}

.safety-card {
  background: #fff;
  border: 1px solid var(--safety-app-line);
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 3px 14px rgba(18,42,68,.045);
}

.safety-filter-bar {
  display: flex;
  align-items: center;
  gap: 9px;
  background: #fff;
  border: 1px solid var(--safety-app-line);
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 16px;
}

.safety-filter-bar input,.safety-filter-bar select {
  height: 42px;
  border: 1px solid #ccd6e0;
  border-radius: 8px;
  padding: 0 11px;
  background: #fff;
  color: var(--safety-app-text);
  font-size: 14px;
}

.safety-filter-bar input.grow {
  flex: 1;
  min-width: 260px;
}

.safety-filter-wave {
  color: #8b96a3;
}

.safety-count {
  margin-left: auto;
  font-weight: 700;
  color: var(--safety-app-muted);
}

.safety-list-card {
  background: #fff;
  border: 1px solid var(--safety-app-line);
  border-radius: 12px;
  overflow: hidden;
}

.safety-claim-list-heading,.safety-claim-list-row {
  display: grid;
  grid-template-columns: 100px minmax(155px,1.1fr) 100px 120px minmax(260px,2.2fr) 90px 60px;
  align-items: center;
  column-gap: 12px;
}

.safety-claim-list-heading {
  min-height: 48px;
  padding: 0 16px;
  background: #eef3f8;
  color: #526171;
  font-size: 13px;
  font-weight: 800;
  border-bottom: 1px solid var(--safety-app-line);
}

.safety-claim-list-row {
  min-height: 68px;
  padding: 9px 16px;
  border-bottom: 1px solid #edf0f4;
  font-size: 14px;
  color: var(--safety-app-text);
}

.safety-claim-list-row:last-child {
  border-bottom: 0;
}

.safety-claim-list-row:hover {
  background: #fbfcfe;
}

.safety-claim-list-row span {
  min-width: 0;
}

.safety-claim-list-row small {
  display: block;
  margin-top: 3px;
  color: #84909d;
}

.safety-claim-list-row .description {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.safety-claim-list-row .actions {
  text-align: right;
}

.safety-claim-list-row .actions a,.safety-link-button {
  color: var(--safety-app-navy);
  font-weight: 800;
  text-decoration: none;
  border: 0;
  background: none;
  cursor: pointer;
}

.safety-claim-list-row.is-deleted {
  opacity: .7;
  background: #f7f7f7;
}

.safety-claim-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  background: #e8edf3;
  color: #425266;
}

.safety-claim-status.large {
  font-size: 14px;
  padding: 8px 14px;
}

.safety-claim-status.status-pending {
  background: #fff3bf;
  color: #755900;
}

.safety-claim-status.status-approved {
  background: #dff5e9;
  color: #176545;
}

.safety-claim-status.status-rejected {
  background: #fde5e5;
  color: #a42b2b;
}

.safety-claim-status.status-unavailable {
  background: #e6e8eb;
  color: #343b44;
}

.safety-claim-status.status-draft {
  background: #e7eefb;
  color: #315f9c;
}

.safety-store-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.safety-store-list-row {
  display: grid;
  grid-template-columns: 85px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid var(--safety-app-line);
  border-radius: 11px;
  color: inherit;
  text-decoration: none;
}

.safety-store-list-row .date {
  color: #75818d;
  font-size: 13px;
}

.safety-store-list-row .main strong {
  display: block;
  font-size: 16px;
}

.safety-store-list-row .main span {
  display: block;
  margin-top: 3px;
  color: #556576;
}

.safety-store-list-row .main small {
  display: block;
  margin-top: 3px;
  color: #98a1aa;
  font-size: 11px;
}

.safety-detail-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 310px;
  gap: 18px;
}

.safety-detail-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.safety-review-panel .sticky {
  position: sticky;
  top: 82px;
}

.safety-detail-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.safety-claim-store-caption {
  display: block;
  color: #6e7b89;
  font-weight: 700;
  margin-bottom: 4px;
}

.safety-data-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 0;
  margin: 15px 0 0;
}

.safety-data-grid>div {
  padding: 13px 12px;
  border-top: 1px solid #edf1f5;
}

.safety-data-grid>div.full {
  grid-column: 1/-1;
}

.safety-data-grid dt {
  font-size: 12px;
  color: #7a8794;
  margin-bottom: 5px;
}

.safety-data-grid dd {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  color: #253445;
}

.safety-data-grid dd.multiline {
  white-space: pre-wrap;
  font-weight: 500;
  line-height: 1.6;
}

.safety-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.safety-section-heading h2,.safety-card h2 {
  margin: 0;
  color: var(--safety-app-navy);
  font-size: 19px;
}

.safety-section-heading>span {
  color: #7d8996;
  font-size: 13px;
}

.safety-claim-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 12px;
  margin-top: 16px;
}

.safety-photo-item {
  border: 1px solid var(--safety-app-line);
  border-radius: 10px;
  overflow: hidden;
  background: #fafbfc;
}

.safety-photo-open {
  display: block;
  width: 100%;
  height: 145px;
  padding: 0;
  border: 0;
  background: #e9edf2;
  cursor: zoom-in;
}

.safety-photo-open img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.safety-photo-placeholder {
  height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #949da7;
}

.safety-photo-item>strong {
  display: block;
  padding: 9px 10px 3px;
}

.safety-photo-item>a {
  display: block;
  padding: 0 10px 10px;
  font-size: 12px;
  color: #526c88;
}

.safety-extra-files {
  margin-top: 18px;
}

.safety-extra-files a {
  margin-right: 12px;
}

.safety-alert {
  border-radius: 10px;
  padding: 14px 17px;
  margin-bottom: 15px;
}

.safety-alert strong {
  display: block;
  margin-bottom: 4px;
}

.safety-alert p {
  margin: 0;
}

.safety-alert.danger {
  background: #fff0f0;
  color: #942d2d;
}

.safety-alert.dark {
  background: #eceff2;
  color: #333b44;
}

.safety-action-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 14px;
}

.safety-action-form textarea {
  width: 100%;
  border: 1px solid #ccd5de;
  border-radius: 8px;
  padding: 10px;
  resize: vertical;
  box-sizing: border-box;
}

.safety-action-form label {
  font-weight: 800;
  color: #3c4b5c;
}

.safety-review-panel hr {
  border: 0;
  border-top: 1px solid #e5e9ee;
  margin: 18px 0;
}

.safety-history {
  display: flex;
  flex-direction: column;
  margin-top: 12px;
}

.safety-history>div {
  display: grid;
  grid-template-columns: 130px 130px 1fr;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #eef1f4;
}

.safety-history span {
  color: #7b8793;
  font-size: 13px;
}

.safety-history small {
  color: #64717e;
}

.safety-muted {
  color: #7d8995;
}

.safety-empty-state {
  padding: 35px;
  text-align: center;
  color: #7b8793;
}

.safety-lightbox {
  position: fixed;
  inset: 0;
  z-index: 10050;
  background: rgba(4,12,22,.94);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px;
}

.safety-lightbox[hidden] {
  display: none;
}

.safety-lightbox figure {
  margin: 0;
  max-width: min(1200px,88vw);
  max-height: 88vh;
  text-align: center;
}

.safety-lightbox img {
  max-width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 8px;
}

.safety-lightbox figcaption {
  color: #fff;
  margin-top: 10px;
  font-size: 17px;
  font-weight: 800;
}

.safety-lightbox-close,.safety-lightbox-nav {
  position: absolute;
  border: 0;
  background: rgba(255,255,255,.12);
  color: #fff;
  cursor: pointer;
}

.safety-lightbox-close {
  right: 24px;
  top: 20px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  font-size: 30px;
}

.safety-lightbox-nav {
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 70px;
  font-size: 50px;
  border-radius: 10px;
}

.safety-lightbox-nav.prev {
  left: 20px;
}

.safety-lightbox-nav.next {
  right: 20px;
}

.safety-lookup {
  position: relative;
}

.safety-lookup-results {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 80;
  max-height: 290px;
  overflow: auto;
  background: #fff;
  border: 1px solid #cbd5df;
  border-radius: 10px;
  box-shadow: 0 12px 30px rgba(13,35,59,.16);
}

.safety-lookup-results button {
  display: block;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #edf0f3;
  background: #fff;
  text-align: left;
  padding: 11px 13px;
  cursor: pointer;
  color: #243548;
}

.safety-lookup-results button:hover {
  background: #fff8d7;
}

.safety-lookup-results button strong {
  display: block;
}

.safety-lookup-results button small {
  display: block;
  margin-top: 3px;
  color: #7b8793;
}

.safety-product-search {
  margin: 0 0 15px;
}

.safety-product-search>label {
  display: block;
  font-weight: 800;
  margin-bottom: 7px;
}

.safety-product-search>input[type=search] {
  width: 100%;
  height: 48px;
  border: 2px solid #bdcad6;
  border-radius: 10px;
  padding: 0 14px;
  font-size: 16px;
}

.safety-product-summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  border: 1px solid var(--safety-app-line);
  border-radius: 11px;
  overflow: hidden;
  margin-bottom: 20px;
}

.safety-product-summary>div {
  padding: 13px 14px;
  background: #f9fbfd;
  border-right: 1px solid #e6ebf0;
  border-bottom: 1px solid #e6ebf0;
}

.safety-product-summary span {
  display: block;
  font-size: 12px;
  color: #7c8894;
  margin-bottom: 4px;
}

.safety-product-summary strong {
  font-size: 15px;
  color: #233447;
}

.safety-dot-note {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 9px;
  background: #f0f4f8;
  color: #586777;
}

.safety-dot-note strong {
  color: #2e4154;
}

.safety-claim-step-actions-layout .safety-form-step-button.draft {
  background: #fff;
  border: 1px solid #aebbc8;
  color: #39526b;
}

.safety-claim-wizard-layout input::placeholder,.safety-claim-wizard-layout textarea::placeholder {
  color: #b2bac4!important;
  opacity: .72;
}

.safety-kpis {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.safety-kpis.five,.safety-kpis.store {
  grid-template-columns: repeat(5,1fr);
}

.safety-kpis>a {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid var(--safety-app-line);
  border-radius: 12px;
  padding: 17px;
}

.safety-kpis span {
  display: block;
  color: #6c7a88;
  font-size: 13px;
}

.safety-kpis strong {
  display: block;
  margin-top: 5px;
  font-size: 28px;
  color: var(--safety-app-navy);
}

.safety-dashboard-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 16px;
}

.safety-dashboard-recent-claims {
  margin-top: 10px;
}

.safety-dashboard-recent-claims>a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid #edf0f4;
  color: inherit;
  text-decoration: none;
}

.safety-dashboard-recent-claims strong,.safety-dashboard-recent-claims span {
  display: block;
}

.safety-dashboard-recent-claims span {
  color: #7b8793;
  font-size: 13px;
  margin-top: 2px;
}

.safety-dashboard-month-list {
  margin-top: 10px;
}

.safety-dashboard-month-list>div {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid #edf0f4;
}

.safety-app-store-quick {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin-bottom: 18px;
}

.safety-app-store-quick a {
  padding: 16px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--safety-app-line);
  text-decoration: none;
  color: inherit;
}

.safety-app-store-quick strong {
  display: block;
  font-size: 16px;
  color: var(--safety-app-navy);
}

.safety-app-store-quick span {
  display: block;
  margin-top: 3px;
  color: #7b8793;
  font-size: 13px;
}

.safety-import-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
}

.safety-help {
  color: #687684;
  line-height: 1.6;
}

.safety-upload-form {
  display: flex;
  gap: 10px;
  align-items: center;
}

.safety-upload-form input {
  flex: 1;
}

.safety-export-form {
  display: flex;
  align-items: end;
  gap: 8px;
}

.safety-export-form label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 12px;
  color: #6e7b88;
}

.safety-export-form input {
  height: 40px;
  border: 1px solid #cdd6df;
  border-radius: 8px;
  padding: 0 9px;
}

.safety-product-summary-heading,.safety-product-summary-row {
  display: grid;
  grid-template-columns: 120px 100px minmax(220px,1.5fr) 110px 110px 110px 70px 50px;
  gap: 10px;
  align-items: center;
  padding: 0 14px;
}

.safety-product-summary-heading {
  height: 46px;
  background: #eef3f8;
  font-size: 12px;
  font-weight: 800;
  color: #566474;
}

.safety-product-summary-row {
  min-height: 58px;
  border-top: 1px solid #edf0f4;
  font-size: 14px;
}

.safety-editor-form-grid {
  display: grid;
  gap: 13px;
}

.safety-editor-form-grid.two {
  grid-template-columns: repeat(2,1fr);
}

.safety-editor-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 700;
  color: #475668;
}

.safety-editor-form-grid input {
  height: 42px;
  border: 1px solid #cad4de;
  border-radius: 8px;
  padding: 0 10px;
}

.safety-editor-form-grid .safety-check {
  flex-direction: row;
  align-items: center;
}

.safety-editor-form-grid .safety-check input {
  height: auto;
}

.safety-product-editor-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}

.safety-store-table-wrap {
  max-height: calc(100vh - 245px);
  min-height: 420px;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--safety-app-line);
  border-radius: 12px;
}

.safety-store-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.safety-store-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  background: #eaf0f6;
  color: #4d5d6e;
  text-align: left;
  font-size: 13px;
  padding: 13px;
  border-bottom: 1px solid #d6dee7;
}

.safety-store-table td {
  padding: 13px;
  border-bottom: 1px solid #edf0f4;
  font-size: 14px;
}

.safety-store-table tbody tr:hover {
  background: #fbfcfe;
}

.safety-store-account-state {
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.safety-store-account-state.on {
  background: #e0f4e9;
  color: #186747;
}

.safety-store-account-state.off {
  background: #eceef1;
  color: #606a75;
}

.safety-guide-bottom {
  margin-top: auto;
}

.safety-admin-menu {
  display: flex!important;
  flex-direction: column!important;
}

.print-only {
  display: none;
}


/* ---- resources/styles/51-responsive-and-print.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 51-responsive-and-print.css
 * 화면: 공통 반응형·기본 인쇄
 * 수정: 모바일 배치와 공통 인쇄 규칙
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

@media(max-width:900px) {
  .safety-detail-layout {
    grid-template-columns: 1fr;

  }

  .safety-review-panel .sticky {
    position: static;

  }

  .safety-data-grid {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-claim-gallery-grid {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-filter-bar {
    flex-wrap: wrap;

  }

  .safety-filter-bar input,.safety-filter-bar select {
    flex: 1 1 135px;

  }

  .safety-claim-list-heading {
    display: none;

  }

  .safety-claim-list-row {
    grid-template-columns: 1fr 1fr;
    gap: 8px;

  }

  .safety-claim-list-row span:before {
    content: attr(data-label);
    display: block;
    font-size: 11px;
    color: #89949f;

  }

  .safety-claim-list-row .description {
    white-space: normal;

  }

  .safety-kpis.five,.safety-kpis.store {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-dashboard-grid,.safety-import-grid {
    grid-template-columns: 1fr;

  }

  .safety-app-store-quick {
    grid-template-columns: 1fr;

  }

  .safety-product-summary {
    grid-template-columns: repeat(2,1fr);

  }

  .safety-store-home-head {
    flex-direction: column;

  }

  .safety-store-list-row {
    grid-template-columns: 72px 1fr auto;

  }
}

@media print {
  body {
    background: #fff!important;

  }

  .no-print,.safety-admin-sidebar,.safety-admin-topbar,.safety-store-topbar,.safety-store-bottom-nav,.safety-password-reminder {
    display: none!important;

  }

  .print-only {
    display: block;

  }

  .safety-admin-workspace,.safety-admin-main,.safety-store-main {
    display: block!important;
    margin: 0!important;
    padding: 0!important;
    width: 100%!important;
    max-width: none!important;

  }

  .safety-detail-layout {
    display: block;

  }

  .safety-card {
    box-shadow: none;
    border: 1px solid #bfc6cd;
    break-inside: avoid;
    margin-bottom: 10px;
    padding: 14px;

  }

  .safety-data-grid {
    grid-template-columns: repeat(4,1fr);

  }

  .safety-print-title {
    margin-bottom: 15px;

  }

  .safety-print-title h1 {
    font-size: 22px;
    margin: 0;

  }

  .safety-print-title p {
    margin: 5px 0 0;
    color: #555;

  }
}

.safety-admin-main {
  font-size: 15px;
}

.safety-admin-menu a {
  min-height: 48px;
  font-size: 15px;
}

.safety-admin-topbar strong {
  font-size: 18px;
}

.safety-admin-actions a,.safety-admin-actions button {
  font-size: 14px;
}

.safety-store-main {
  font-size: 15px;
}

@media print {
  .safety-print-photos .safety-section-heading>span,.safety-print-photos .safety-photo-item>a {
    display: none!important;

  }

  .safety-print-photos .safety-claim-gallery-grid {
    grid-template-columns: repeat(4,1fr);
    gap: 7px;

  }

  .safety-print-photos .safety-photo-open,.safety-print-photos .safety-photo-placeholder {
    height: 95px;

  }

  .safety-print-photos .safety-photo-item>strong {
    font-size: 11px;
    padding: 5px 6px;

  }
}

.safety-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 18px 0;
}

.safety-pager a,.safety-pager span {
  min-width: 64px;
  text-align: center;
  padding: 8px 12px;
  border: 1px solid #cdd6df;
  border-radius: 8px;
  background: #fff;
  color: #30475f;
  text-decoration: none;
  font-weight: 700;
}

.safety-pager span.disabled {
  opacity: .45;
}

.safety-pager strong {
  color: #536273;
  font-size: 13px;
}

.safety-filter-bar.sticky-filter {
  position: sticky;
  top: 66px;
  z-index: 12;
  box-shadow: 0 4px 12px rgba(18,42,68,.06);
}


/* ---- resources/styles/52-store-admin-actions.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 52-store-admin-actions.css
 * 화면: 매장·관리자 작업 버튼
 * 수정: 매장 요약, 관리자 버튼, 접수 상세 작업 영역
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-action-button {
  white-space: nowrap;
  line-height: 1.15;
  box-sizing: border-box;
  transition: background .15s ease,border-color .15s ease,transform .15s ease;
}

.safety-action-button:hover {
  transform: translateY(-1px);
}

.safety-page-heading>.safety-action-button,.safety-detail-actions>.safety-action-button {
  flex: 0 0 auto;
}

.safety-action-button.store-primary {
  background: var(--safety-app-yellow);
  border-color: var(--safety-app-yellow);
  color: #132a43;
  box-shadow: 0 6px 16px rgba(0,0,0,.15);
}

.safety-store-summary-store-hero {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  padding: 24px 24px 22px;
  margin-bottom: 16px;
  background: linear-gradient(135deg,#102b49 0%,#173f69 72%,#244f78 100%);
  box-shadow: 0 8px 24px rgba(16,43,73,.14);
}

.safety-store-summary-store-hero:after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  right: -62px;
  top: -82px;
  background: rgba(255,210,0,.9);
}

.safety-store-summary-store-hero .safety-store-home-head {
  position: relative;
  z-index: 1;
  margin: 0;
  align-items: center;
}

.safety-store-summary-store-hero .safety-store-home-head>div>span {
  color: #ffd92e;
  font-weight: 800;
}

.safety-store-summary-store-hero .safety-store-home-head h1 {
  color: #fff;
  margin-top: 4px;
}

.safety-store-summary-store-hero .safety-store-home-head p {
  color: #dce8f4;
}

.safety-store-summary-store-kpis>a {
  position: relative;
  overflow: hidden;
  border: 0!important;
  box-shadow: 0 4px 14px rgba(23,50,78,.07);
}

.safety-store-summary-store-kpis>a:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
}

.safety-store-summary-store-kpis>a.pending:before {
  background: #e3b500;
}

.safety-store-summary-store-kpis>a.approved:before {
  background: #1e9b69;
}

.safety-store-summary-store-kpis>a.rejected:before {
  background: #d74a4a;
}

.safety-store-summary-store-kpis>a.unavailable:before {
  background: #66717d;
}

.safety-store-summary-store-kpis>a.draft:before {
  background: #477ab3;
}

.safety-store-summary-store-kpis>a.pending {
  background: #fffaf0;
}

.safety-store-summary-store-kpis>a.approved {
  background: #f1fbf6;
}

.safety-store-summary-store-kpis>a.rejected {
  background: #fff5f5;
}

.safety-store-summary-store-kpis>a.unavailable {
  background: #f5f6f7;
}

.safety-store-summary-store-kpis>a.draft {
  background: #f2f7fd;
}

.safety-store-section-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 21px 2px 10px;
}

.safety-store-section-title strong {
  font-size: 18px;
  color: var(--safety-app-navy);
}

.safety-store-section-title span {
  font-size: 13px;
  color: #7b8793;
}

.safety-store-summary-store-quick a {
  position: relative;
  padding-left: 20px;
  border-width: 1px;
  box-shadow: 0 3px 12px rgba(18,42,68,.04);
}

.safety-store-summary-store-quick a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  border-radius: 12px 0 0 12px;
}

.safety-store-summary-store-quick a.new:before {
  background: var(--safety-app-yellow);
}

.safety-store-summary-store-quick a.list:before {
  background: #2d669b;
}

.safety-store-summary-store-quick a.guide:before {
  background: #698095;
}

.safety-store-summary-store-quick a:hover {
  background: #fbfcfe;
}

.safety-admin-main .safety-action-button:not(.primary):not(.success):not(.danger):not(.warning):not(.dark):not(.ghost-danger) {
  background: #eef4fa;
  border-color: #b7c8d9;
  color: #17456f;
}

.safety-admin-main .safety-action-button.ghost {
  background: #fff8d7;
  border-color: #ead170;
  color: #5b4a00;
}

.safety-admin-main .safety-action-button.admin-secondary {
  background: #e9f0f7;
  border-color: #aebfd0;
  color: #173f65;
}

.safety-admin-main .safety-claim-list-row .actions a,.safety-admin-main .safety-link-button,.safety-admin-main .safety-store-table td a,.safety-admin-main .safety-product-summary-row a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #b8c9d9;
  border-radius: 7px;
  background: #edf4fa;
  color: #16466f!important;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.safety-admin-main .safety-link-button {
  font: inherit;
  font-weight: 800;
}

.safety-admin-main .safety-claim-list-row .actions a:hover,.safety-admin-main .safety-store-table td a:hover,.safety-admin-main .safety-product-summary-row a:hover {
  background: #dfeaf4;
}

.safety-admin-main .safety-filter-bar {
  flex-wrap: wrap;
}

.safety-admin-main .safety-filter-bar .safety-action-button {
  flex: 0 0 auto;
}

.safety-claim-list-row .actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 58px;
}

.safety-claim-list-row .actions form {
  margin: 0;
}

@media(max-width:700px) {
  .safety-page-heading {
    flex-direction: column;
    align-items: stretch;

  }

  .safety-page-heading>.safety-action-button {
    width: 100%;

  }

  .safety-store-summary-store-hero {
    padding: 20px 18px;

  }

  .safety-store-summary-store-hero .safety-store-home-head {
    align-items: stretch;

  }

  .safety-store-summary-store-hero .safety-store-home-head .safety-action-button {
    width: 100%;
    margin-top: 14px;

  }

  .safety-kpis.store {
    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .safety-kpis.store>a:last-child {
    grid-column: 1/-1;

  }

  .safety-app-store-quick {
    grid-template-columns: 1fr;

  }

  .safety-filter-bar {
    align-items: stretch;

  }

  .safety-filter-bar .safety-action-button {
    min-width: max-content;

  }
}


/* ---- resources/styles/53-navigation-claims-products.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 53-navigation-claims-products.css
 * 화면: 메뉴·접수·상품·매장
 * 수정: 관리자 메뉴, 접수 목록, 매장 및 상품 화면 배치
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-admin-brand-toolbar {
  display: flex!important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.safety-admin-brand-content {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.safety-sidebar-toggle {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 8px;
  background: rgba(255,255,255,.09);
  color: inherit;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

.safety-sidebar-toggle:hover {
  background: rgba(255,255,255,.16);
}

.safety-admin-sidebar,.safety-admin-workspace {
  transition: width .18s ease,margin-left .18s ease;
}

.safety-admin-shell.safety-sidebar-collapsed {
  grid-template-columns: 78px minmax(0,1fr)!important;
}

.safety-admin-shell.safety-sidebar-collapsed .safety-admin-sidebar {
  width: 78px!important;
  min-width: 78px!important;
}

.safety-admin-shell.safety-sidebar-collapsed .safety-admin-brand-toolbar {
  justify-content: center;
  flex-direction: column;
  padding-left: 8px!important;
  padding-right: 8px!important;
}

.safety-admin-shell.safety-sidebar-collapsed .safety-admin-brand-content strong,.safety-admin-shell.safety-sidebar-collapsed .safety-admin-menu a>span:not(.icon),.safety-admin-shell.safety-sidebar-collapsed .safety-admin-user>div:not(.avatar) {
  display: none!important;
}

.safety-admin-shell.safety-sidebar-collapsed .safety-brand-logo.sidebar {
  max-width: 46px!important;
}

.safety-admin-shell.safety-sidebar-collapsed .safety-admin-menu a {
  justify-content: center!important;
  padding-left: 8px!important;
  padding-right: 8px!important;
}

.safety-admin-shell.safety-sidebar-collapsed .safety-admin-menu .icon {
  margin: 0!important;
  font-size: 20px;
}

.safety-admin-shell.safety-sidebar-collapsed .safety-admin-user {
  justify-content: center!important;
}

.safety-admin-shell.safety-sidebar-collapsed .safety-guide-bottom {
  margin-top: auto;
}

.safety-claims-head {
  align-items: stretch;
}

.safety-claims-head-tools {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.safety-approved-export-toolbar {
  display: flex;
  align-items: flex-end;
  gap: 7px;
  padding: 9px 10px;
  border: 1px solid #d7e0e9;
  border-radius: 10px;
  background: #f8fafc;
}

.safety-approved-export-toolbar>span:first-child {
  align-self: center;
  font-weight: 800;
  color: var(--safety-app-navy);
  margin-right: 3px;
  white-space: nowrap;
}

.safety-approved-export-toolbar label {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 11px;
  font-weight: 700;
  color: #687787;
}

.safety-approved-export-toolbar input {
  height: 36px;
  border: 1px solid #cbd6e0;
  border-radius: 7px;
  padding: 0 7px;
  background: #fff;
}

.safety-approved-export-toolbar .wave {
  align-self: center;
  color: #8995a1;
}

.safety-approved-export-toolbar .safety-action-button {
  min-height: 36px;
  padding: 0 12px;
}

.safety-claims-filter {
  flex-wrap: nowrap!important;
}

.safety-claims-filter .grow {
  min-width: 220px;
  max-width: 420px;
}

.safety-admin-list-card {
  overflow: hidden;
}

.safety-admin-list-scroll {
  overflow-y: hidden;
}

.safety-admin-list-scroll .safety-claim-list-heading,.safety-admin-list-scroll .safety-claim-list-row {
  min-width: 1040px;
  grid-template-columns: 96px 190px 100px 120px minmax(330px,1fr) 94px 62px;
  white-space: nowrap;
}

.safety-admin-list-scroll .safety-claim-list-row {
  min-height: 58px;
  padding-top: 7px;
  padding-bottom: 7px;
}

.safety-admin-list-scroll .safety-claim-list-row .store {
  display: flex;
  align-items: center;
  gap: 2px;
  overflow: hidden;
}

.safety-admin-list-scroll .safety-claim-list-row .store strong {
  overflow: hidden;
  text-overflow: ellipsis;
}

.safety-admin-list-scroll .safety-claim-list-row .store small {
  display: inline;
  margin: 0;
  color: #8793a0;
  white-space: nowrap;
}

.safety-admin-list-scroll .safety-claim-list-row .description {
  display: block;
  line-height: 1.35;
  white-space: nowrap!important;
  overflow: hidden;
  text-overflow: ellipsis;
}

.safety-admin-list-scroll .safety-claim-list-row>span {
  align-self: center;
}

.safety-admin-list-scroll .actions {
  height: 34px;
}

.safety-store-home-layout {
  max-width: 1180px;
  margin: 0 auto;
}

.safety-store-command {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px;
  margin-bottom: 14px;
  background: #fff;
  border: 1px solid #dbe3eb;
  border-left: 6px solid var(--safety-app-navy);
  border-radius: 12px;
  box-shadow: 0 3px 14px rgba(18,42,68,.045);
}

.safety-store-command-copy h1 {
  margin: 3px 0 5px;
  font-size: 28px;
  color: var(--safety-app-navy);
}

.safety-store-command-copy p {
  margin: 0;
  color: #6f7d8b;
}

.safety-store-command .store-primary {
  box-shadow: none;
  border-radius: 8px;
  min-width: 132px;
}

.safety-store-status-board {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 9px;
  margin-bottom: 15px;
}

.safety-store-status-board>a {
  position: relative;
  padding: 15px 15px 14px;
  background: #fff;
  border: 1px solid #dfe6ed;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}

.safety-store-status-board>a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
}

.safety-store-status-board .pending:before {
  background: #d4a900;
}

.safety-store-status-board .approved:before {
  background: #1c8d63;
}

.safety-store-status-board .rejected:before {
  background: #c94a4a;
}

.safety-store-status-board .unavailable:before {
  background: #687481;
}

.safety-store-status-board .draft:before {
  background: #4777a8;
}

.safety-store-status-board span {
  display: block;
  font-size: 12px;
  font-weight: 800;
  color: #657382;
}

.safety-store-status-board strong {
  display: block;
  margin: 3px 0 1px;
  font-size: 27px;
  line-height: 1.1;
  color: #152f4b;
}

.safety-store-status-board small {
  font-size: 11px;
  color: #909aa4;
}

.safety-store-work-actions {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 9px;
}

.safety-store-work-actions>a {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 11px;
  padding: 15px 16px;
  border: 1px solid #dfe6ed;
  border-radius: 10px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.safety-store-work-actions>a:hover {
  border-color: #aebfce;
  background: #fbfcfd;
}

.safety-store-work-actions b {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 7px;
  background: #eef3f8;
  color: #1d4b73;
  font-size: 12px;
}

.safety-store-work-actions span strong,.safety-store-work-actions span small {
  display: block;
}

.safety-store-work-actions span strong {
  color: #173957;
  font-size: 15px;
}

.safety-store-work-actions span small {
  margin-top: 2px;
  color: #7b8793;
  font-size: 12px;
}

.safety-store-work-actions em {
  font-style: normal;
  color: #8795a3;
  font-size: 20px;
}

.safety-product-edit-note {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f3f6f9;
  border-left: 4px solid #7890a8;
}

.safety-product-edit-note strong {
  color: #263e56;
  font-size: 13px;
}

.safety-product-edit-note span {
  color: #6c7b89;
  font-size: 12px;
  line-height: 1.45;
}

.safety-product-edit-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 20px;
}

.safety-product-edit-grid>label,.safety-size-preview {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #dce4eb;
  border-radius: 9px;
  background: #fbfcfd;
  color: #536273;
  font-size: 12px;
  font-weight: 700;
}

.safety-product-edit-grid>label.span-2 {
  grid-column: span 2;
}

.safety-product-edit-grid input {
  width: 100%;
  height: 38px;
  box-sizing: border-box;
  border: 1px solid #c9d4de;
  border-radius: 7px;
  background: #fff;
  padding: 0 9px;
  color: #213346;
  font-size: 14px;
  font-weight: 700;
}

.safety-product-edit-grid input[readonly] {
  background: #eef2f6;
  color: #6b7784;
}

.safety-product-edit-grid label>small {
  font-size: 10px;
  font-weight: 500;
  color: #88939f;
}

.safety-size-preview {
  justify-content: center;
  background: #f6f9fb;
}

.safety-size-preview span {
  font-size: 11px;
  color: #7d8994;
}

.safety-size-preview strong {
  font-size: 17px;
  color: #183b5d;
}

.safety-price-input {
  display: flex;
  align-items: center;
}

.safety-price-input input {
  border-radius: 7px 0 0 7px;
}

.safety-price-input span {
  height: 38px;
  display: flex;
  align-items: center;
  padding: 0 9px;
  border: 1px solid #c9d4de;
  border-left: 0;
  border-radius: 0 7px 7px 0;
  background: #f2f5f8;
  color: #536170;
}

@media(max-width:1100px) {
  .safety-claims-head {
    flex-direction: column;


  }

  .safety-claims-head-tools {
    margin-left: 0;
    justify-content: flex-start;


  }

  .safety-claims-filter {
    flex-wrap: wrap!important;


  }

  .safety-store-status-board {
    grid-template-columns: repeat(3,1fr);


  }

  .safety-product-edit-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));


  }
}

@media(max-width:700px) {
  .safety-approved-export-toolbar {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;


  }

  .safety-approved-export-toolbar>span:first-child {
    grid-column: 1/-1;


  }

  .safety-approved-export-toolbar .wave {
    display: none;


  }

  .safety-approved-export-toolbar .safety-action-button {
    grid-column: 1/-1;


  }

  .safety-store-command {
    align-items: stretch;
    flex-direction: column;
    padding: 18px;


  }

  .safety-store-command .store-primary {
    width: 100%;


  }

  .safety-store-status-board {
    grid-template-columns: repeat(2,minmax(0,1fr));


  }

  .safety-store-status-board>a:last-child {
    grid-column: 1/-1;


  }

  .safety-store-work-actions {
    grid-template-columns: 1fr;


  }

  .safety-product-edit-grid {
    grid-template-columns: 1fr;


  }

  .safety-product-edit-grid>label.span-2 {
    grid-column: auto;


  }
}


/* ---- resources/styles/54-admin-navigation-and-print.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 54-admin-navigation-and-print.css
 * 화면: 관리자 메뉴·접수 상세·인쇄
 * 수정: 관리자 내비게이션, 상세 화면과 인쇄 기반
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

@media (min-width: 901px) {
  .safety-admin-shell:not(.safety-sidebar-collapsed) {
    grid-template-columns: 260px minmax(0,1fr)!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-sidebar {
    width: 260px!important;
    min-width: 260px!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-toolbar {
    align-items: flex-start!important;
    gap: 10px!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-content {
    flex: 1 1 auto!important;
    min-width: 0!important;
    align-items: center!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-content strong {
    display: block!important;
    min-width: 0!important;
    line-height: 1.25!important;
    white-space: normal!important;
    word-break: keep-all!important;
    overflow-wrap: normal!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-sidebar-toggle {
    flex: 0 0 34px!important;
    margin-top: 1px!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-menu a {
    display: grid!important;
    grid-template-columns: 30px minmax(0,1fr)!important;
    align-items: center!important;
    column-gap: 10px!important;
    min-height: 52px!important;
    height: auto!important;
    padding: 10px 14px!important;
    line-height: 1.25!important;
    white-space: normal!important;
    overflow: visible!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-menu a>.icon {
    width: 30px!important;
    min-width: 30px!important;
    margin: 0!important;
    text-align: center!important;
    align-self: center!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-menu a>span:not(.icon) {
    display: block!important;
    min-width: 0!important;
    white-space: normal!important;
    word-break: keep-all!important;
    overflow-wrap: normal!important;
    line-height: 1.25!important;

  }

  .safety-admin-shell.safety-sidebar-collapsed .safety-admin-menu a {
    display: flex!important;
    min-height: 48px!important;
    height: auto!important;
    white-space: nowrap!important;

  }
}


/* ---- resources/styles/55-photo-preview.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 55-photo-preview.css
 * 화면: 사진 미리보기
 * 수정: 사진 회전, 미등록 표시와 업로드 미리보기
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-products-card {
  overflow: hidden;
}

.safety-products-scroll {
  overflow-x: auto;
  overflow-y: hidden;
}

.safety-product-catalog-heading,.safety-product-catalog-row {
  display: grid;
  grid-template-columns: 120px 95px minmax(260px,1.6fr) 64px 70px 62px 100px 105px 105px 64px 58px;
  gap: 10px;
  align-items: center;
  min-width: 1180px;
  padding: 0 14px;
}

.safety-product-catalog-heading {
  position: sticky;
  top: 0;
  z-index: 2;
  min-height: 46px;
  background: #eef3f8;
  color: #566474;
  font-size: 12px;
  font-weight: 800;
}

.safety-product-catalog-row {
  min-height: 58px;
  border-top: 1px solid #edf0f4;
  font-size: 13px;
  color: #2e4052;
}

.safety-product-catalog-row .product-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.safety-product-catalog-row>span {
  min-width: 0;
}

.safety-product-catalog-row a {
  white-space: nowrap;
}

.safety-import-history-card,.safety-import-failure-card {
  grid-column: 1/-1;
}

.safety-import-history-scroll,.safety-import-failure-scroll {
  overflow: auto;
  max-height: 440px;
  border: 1px solid #dfe6ed;
  border-radius: 9px;
}

.safety-import-history-head,.safety-import-history-row {
  display: grid;
  grid-template-columns: 130px minmax(260px,1fr) 72px 72px 72px 70px 64px;
  gap: 8px;
  align-items: center;
  min-width: 820px;
  padding: 9px 12px;
}

.safety-import-history-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #eef3f8;
  color: #536171;
  font-size: 12px;
  font-weight: 800;
}

.safety-import-history-row {
  border-top: 1px solid #edf1f4;
  background: #fff;
  font-size: 13px;
}

.safety-import-history-row.selected {
  background: #fff9dc;
}

.safety-import-history-row .file-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.safety-import-history-row .ok {
  color: #19714f;
  font-weight: 800;
}

.safety-import-history-row .warn {
  color: #b05d00;
  font-weight: 800;
}

.safety-action-button.compact {
  min-height: 30px!important;
  padding: 0 9px!important;
  font-size: 12px!important;
}

.safety-import-failure-head,.safety-import-failure-row {
  display: grid;
  grid-template-columns: 74px 110px minmax(190px,280px) minmax(340px,1fr);
  gap: 10px;
  align-items: start;
  min-width: 760px;
  padding: 9px 12px;
}

.safety-import-failure-head {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff2cf;
  color: #5c4b16;
  font-size: 12px;
  font-weight: 800;
}

.safety-import-failure-row {
  border-top: 1px solid #f0e7d5;
  background: #fffdf8;
  font-size: 13px;
}

.safety-import-failure-row .reason {
  color: #8a3d27;
  line-height: 1.45;
  word-break: keep-all;
}

.safety-import-success {
  padding: 18px;
  border: 1px solid #cfe7da;
  border-radius: 8px;
  background: #f1faf5;
  color: #1d6a49;
  font-weight: 800;
}

@media (min-width:901px) {
  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-toolbar {
    position: relative!important;
    display: block!important;
    padding: 14px 50px 12px 16px!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-stack {
    display: flex!important;
    flex-direction: column!important;
    align-items: flex-start!important;
    justify-content: flex-start!important;
    min-width: 0!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-stack .safety-brand-logo.sidebar {
    display: block!important;
    width: auto!important;
    max-width: 132px!important;
    height: auto!important;
    margin: 0!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-title {
    flex-direction: column!important;
    gap: 0!important;
    margin: 0!important;
    padding: 0!important;
    font-weight: 900!important;
    letter-spacing: -.2px!important;
    color: inherit!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-title span {
    display: block!important;
    width: 100%!important;
    white-space: nowrap!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-sidebar-toggle {
    position: absolute!important;
    top: 14px!important;
    right: 12px!important;
    margin: 0!important;

  }
}

@media(max-width:900px) {
  .safety-admin-brand-title {
    display: inline-flex;
    gap: 4px;

  }
}

.safety-product-danger-card {
  grid-column: 1/-1;
  border-color: #efc6c6;
  background: #fffafa;
}

.safety-product-delete-warning {
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 8px;
  background: #fff1f1;
  color: #8b3535;
  font-size: 13px;
  line-height: 1.45;
}

.safety-product-delete-form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-top: 14px;
}

.safety-product-delete-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 260px;
  color: #596778;
  font-size: 13px;
}

.safety-product-delete-form input {
  height: 42px;
  border: 1px solid #d7a9a9;
  border-radius: 8px;
  padding: 0 11px;
  background: #fff;
}

.safety-multi-print-form {
  display: inline-flex;
}

.safety-multi-print-form .safety-action-button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.safety-multi-print-form b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 999px;
  background: rgba(16,43,73,.1);
  font-size: 11px;
}

.safety-check-cell {
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
}

.safety-check-cell input {
  width: 17px;
  height: 17px;
  accent-color: #173b61;
  cursor: pointer;
}

.safety-claim-list-selection-heading,.safety-claim-list-selection-row {
  grid-template-columns: 38px 92px minmax(145px,1fr) 92px 112px minmax(300px,2.2fr) 86px 54px!important;
  min-width: 1050px;
}

.safety-claim-list-selection-row .description {
  white-space: nowrap!important;
  overflow: hidden;
  text-overflow: ellipsis;
}

.safety-admin-list-scroll {
  overflow-x: auto;
}

@media (min-width:901px) {
  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-toolbar {
    min-height: 108px!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-stack {
    gap: 7px!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-title {
    max-width: 170px!important;
    word-break: normal!important;
  }

  .safety-admin-shell.safety-sidebar-collapsed .safety-admin-brand-title {
    display: none!important;

  }
}

@media(max-width:700px) {
  .safety-product-delete-form {
    align-items: stretch;
    flex-direction: column;

  }

  .safety-product-delete-form label {
    min-width: 0;

  }

  .safety-product-delete-form .safety-action-button {
    width: 100%;

  }
}

.safety-single-print-only {
  display: none;
}

.safety-print-sheet {
  box-sizing: border-box;
  background: #fff;
  color: #182433;
  font-family: "Malgun Gothic","맑은 고딕",Arial,sans-serif;
}

.safety-print-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 3mm;
  border-bottom: 2px solid #102b49;
}

.safety-print-header>div:first-child {
  display: flex;
  align-items: baseline;
  gap: 4mm;
}

.safety-print-header strong {
  font-size: 18pt;
  color: #102b49;
}

.safety-print-header span {
  font-size: 9pt;
  color: #6a7580;
}

.safety-print-status {
  padding: 1.5mm 3mm;
  border: 1px solid #102b49;
  border-radius: 4px;
  font-size: 9pt;
  font-weight: 800;
  color: #102b49;
}

.safety-print-table {
  width: 100%;
  margin-top: 3mm;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 8.5pt;
}

.safety-print-table th,.safety-print-table td {
  border: 1px solid #c8cfd6;
  padding: 1.7mm 2mm;
  vertical-align: middle;
}

.safety-print-table th {
  width: 18%;
  background: #eef3f7;
  color: #34485c;
  text-align: left;
  white-space: nowrap;
}

.safety-print-table td {
  font-weight: 600;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.safety-print-table .description td {
  height: 12mm;
  vertical-align: top;
  white-space: pre-wrap;
  line-height: 1.35;
  font-weight: 500;
}

.safety-print-reason {
  margin-top: 2.5mm;
  padding: 2mm;
  border: 1px solid #e4c6c6;
  background: #fff5f5;
  font-size: 8pt;
  line-height: 1.35;
}

.safety-print-photo-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 2mm;
  margin-top: 3mm;
}

.safety-print-photo-grid figure {
  margin: 0;
  border: 1px solid #cbd2d9;
  break-inside: avoid;
}

.safety-print-photo-grid figure>div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32mm;
  background: #f0f2f4;
  color: #8a929a;
  font-size: 8pt;
  overflow: hidden;
}

.safety-print-photo-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.safety-print-photo-grid figcaption {
  padding: 1.2mm 1.5mm;
  text-align: center;
  font-size: 7.5pt;
  font-weight: 700;
}

.safety-print-footer {
  margin-top: 2mm;
  text-align: right;
  color: #89919a;
  font-size: 7pt;
}

.safety-print-toolbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #102b49;
  color: #fff;
}

.safety-print-toolbar button {
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: 7px;
  background: #fff;
  color: #102b49;
  font-weight: 800;
  cursor: pointer;
}

.safety-print-toolbar strong {
  margin-right: auto;
}

.safety-print-pages {
  max-width: 210mm;
  margin: 15px auto;
}

.safety-print-pages .safety-print-sheet {
  margin-bottom: 12px;
  padding: 8mm;
  box-shadow: 0 2px 14px rgba(0,0,0,.12);
}


/* ---- resources/styles/56-print-layout.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 56-print-layout.css
 * 화면: 접수 인쇄
 * 수정: 인쇄 여백, 사진 배치와 출력 전용 화면
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-password-rules {
  margin: 0 0 18px;
  padding: 15px 16px;
  border: 1px solid #d7e1eb;
  border-left: 4px solid #e0b400;
  border-radius: 10px;
  background: #fffaf0;
  color: #435363;
}

.safety-password-rules>strong {
  display: block;
  margin-bottom: 8px;
  color: #173b61;
  font-size: 15px;
}

.safety-password-rules ul {
  margin: 0;
  padding-left: 19px;
}

.safety-password-rules li {
  margin: 4px 0;
  line-height: 1.45;
}

.safety-password-rules p {
  margin: 10px 0 0;
  padding-top: 9px;
  border-top: 1px solid #eadfb4;
  color: #6c5c20;
  font-size: 13px;
}

.safety-friendly-error-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 24px;
  background: #f3f6f9;
  font-family: "Malgun Gothic","맑은 고딕",Arial,sans-serif;
  color: #203247;
}

.safety-friendly-error-card {
  width: min(560px,100%);
  box-sizing: border-box;
  padding: 34px 30px;
  border: 1px solid #dbe3eb;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(16,43,73,.12);
  text-align: center;
}

.safety-friendly-error-card img {
  display: block;
  max-width: 150px;
  max-height: 42px;
  margin: 0 auto 22px;
}

.safety-friendly-error-code {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eef3f8;
  color: #5d6b79;
  font-size: 12px;
  font-weight: 800;
}

.safety-friendly-error-card h1 {
  margin: 12px 0 8px;
  color: #102b49;
  font-size: 27px;
}

.safety-error-reason {
  margin: 0;
  padding: 14px 15px;
  border-radius: 9px;
  background: #fff8df;
  color: #564b24;
  font-size: 14px;
  line-height: 1.6;
  word-break: keep-all;
}

.safety-error-help {
  margin: 13px 0 0;
  color: #7a8794;
  font-size: 12px;
  line-height: 1.5;
}

.safety-friendly-error-actions {
  display: flex;
  justify-content: center;
  gap: 9px;
  margin-top: 22px;
}

.safety-error-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #c7d2dc;
  border-radius: 8px;
  background: #fff;
  color: #27445e;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.safety-error-btn.primary {
  border-color: #102b49;
  background: #102b49;
  color: #fff;
}

.safety-date-help {
  display: block;
  margin-top: 5px;
  color: #7a8794;
  font-size: 11px;
  font-weight: 500;
}

.safety-claim-review-gallery {
  margin-top: 16px;
}

.safety-review-photo-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 9px;
  margin-top: 12px;
}

.safety-review-photo-grid figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid #d9e1e8;
  border-radius: 9px;
  background: #fff;
}

.safety-review-photo-grid figure>div {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 105px;
  background: #eef2f5;
  color: #8c97a2;
  font-size: 12px;
  overflow: hidden;
}

.safety-review-photo-grid img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.safety-review-photo-grid figcaption {
  padding: 7px 8px;
  text-align: center;
  color: #44576a;
  font-size: 12px;
  font-weight: 800;
}

.safety-review-photo-grid figure.filled {
  border-color: #b8c9d8;
}

.safety-photo-file {
  word-break: break-all;
}

.safety-product-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.safety-product-form-section {
  padding: 16px;
  border: 1px solid #dce4eb;
  border-radius: 11px;
  background: #fbfcfd;
}

.safety-product-form-title {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-bottom: 12px;
}

.safety-product-form-title strong {
  color: #173b61;
  font-size: 15px;
}

.safety-product-form-title span {
  color: #7b8793;
  font-size: 12px;
}

.safety-product-form-grid {
  display: grid;
  gap: 12px;
}

.safety-product-form-grid.two {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.safety-product-form-grid.three {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

.safety-product-form-grid label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  color: #4f5f70;
  font-size: 13px;
  font-weight: 800;
}

.safety-product-form-grid label>small {
  color: #8a95a0;
  font-size: 10px;
  font-weight: 600;
}

.safety-product-form-grid input {
  width: 100%;
  height: 43px;
  box-sizing: border-box;
  border: 1px solid #c8d3dd;
  border-radius: 8px;
  background: #fff;
  padding: 0 11px;
  color: #203449;
  font-size: 14px;
}

.safety-product-active {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 15px;
  border: 1px solid #d8e1e9;
  border-radius: 10px;
  background: #f6f9fb;
  cursor: pointer;
}

.safety-product-active>input {
  width: 18px;
  height: 18px;
  accent-color: #173b61;
}

.safety-product-active>span {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.safety-product-active strong {
  color: #263f58;
  font-size: 13px;
}

.safety-product-active small {
  color: #7b8793;
  font-size: 11px;
}

.safety-product-form-actions {
  padding-top: 2px;
}

.safety-store-danger-card {
  grid-column: 1/-1;
  border-color: #f0d2b5;
  background: #fffaf5;
}

.safety-store-delete-note {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff0df;
  color: #79502b;
  font-size: 13px;
  line-height: 1.5;
}

@media (min-width:901px) {
  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-title {
    display: block!important;
    max-width: none!important;
    width: auto!important;
    white-space: nowrap!important;
    word-break: keep-all!important;
    overflow: visible!important;
    text-overflow: clip!important;
    font-size: 15px!important;
    line-height: 1.2!important;

  }

  .safety-admin-shell:not(.safety-sidebar-collapsed) .safety-admin-brand-stack {
    min-width: 170px!important;

  }
}

@media(max-width:700px) {
  .safety-review-photo-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .safety-product-form-grid.two,.safety-product-form-grid.three {
    grid-template-columns: 1fr;

  }

  .safety-product-form-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;

  }

  .safety-friendly-error-actions {
    flex-direction: column;

  }

  .safety-error-btn {
    width: 100%;
    box-sizing: border-box;

  }
}

.safety-print-body {
  margin: 0;
  background: #e9edf1;
}

.safety-print-pages {
  box-sizing: border-box;
}

.safety-print-pages .safety-print-sheet {
  box-sizing: border-box;
}

.safety-print-end-line {
  display: block;
  height: 0;
  border-top: 1.5px solid #102b49;
  margin-top: 2mm;
}


/* ---- resources/styles/57-mobile-review.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 57-mobile-review.css
 * 화면: 모바일·최종확인
 * 수정: 모바일 접수 화면과 최종 확인 단계
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-print-body .safety-print-photo-grid {
  grid-template-columns: repeat(2,minmax(0,1fr))!important;
  gap: 2mm 2.5mm!important;
  margin-top: 3mm!important;
}

.safety-print-body .safety-print-photo-grid figure>div {
  height: 27mm;
}

@media(max-width:700px) {
  .safety-claim-wizard-step[data-step="4"] .safety-section-title {
    margin-bottom: 12px!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-section-title h2 {
    font-size: 18px!important;
    line-height: 1.35!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-section-title p {
    margin-top: 5px!important;
    font-size: 12px!important;
    line-height: 1.45!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-grid {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 0!important;
    overflow: hidden!important;
    border: 1px solid #dce4eb!important;
    border-radius: 10px!important;
    background: #fff!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-grid>div {
    display: grid!important;
    grid-template-columns: 92px minmax(0,1fr)!important;
    align-items: start!important;
    gap: 8px!important;
    min-width: 0!important;
    padding: 9px 11px!important;
    border: 0!important;
    border-bottom: 1px solid #edf1f4!important;
    border-radius: 0!important;
    background: #fff!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-grid>div:last-child {
    border-bottom: 0!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-grid span {
    margin: 0!important;
    color: #718091!important;
    font-size: 11px!important;
    line-height: 1.35!important;
    white-space: nowrap!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-grid strong {
    min-width: 0!important;
    margin: 0!important;
    color: #203449!important;
    font-size: 13px!important;
    line-height: 1.4!important;
    overflow-wrap: anywhere!important;
    word-break: keep-all!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-description {
    margin-top: 10px!important;
    padding: 11px!important;
    border-radius: 10px!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-description span {
    font-size: 11px!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-description p {
    margin-top: 5px!important;
    font-size: 13px!important;
    line-height: 1.45!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-gallery {
    margin-top: 12px!important;
    padding: 11px!important;
    border: 1px solid #dce4eb!important;
    border-radius: 10px!important;
    background: #f8fafc!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-gallery>div:first-child {
    display: flex!important;
    align-items: center!important;
    justify-content: space-between!important;
    gap: 8px!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-gallery>p {
    margin: 4px 0 0!important;
    color: #788695!important;
    font-size: 11px!important;
    line-height: 1.4!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid {
    gap: 8px!important;
  }

  .safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid figure {
    border-radius: 8px!important;
  }

  .safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid figcaption {
    min-height: 30px!important;
    box-sizing: border-box!important;
    display: flex!important;
    align-items: center!important;
    justify-content: center!important;
    padding: 6px 4px!important;
    font-size: 11px!important;
    line-height: 1.2!important;
    word-break: keep-all!important;

  }
}


/* ---- resources/styles/58-claim-form-gallery.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 58-claim-form-gallery.css
 * 화면: 매장 접수 입력·사진
 * 수정: 단계 버튼, 사진 업로드, 최종확인과 모바일
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-progress-overlay[hidden] {
  display: none!important;
}

.safety-progress-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(10,27,46,.46);
  backdrop-filter: blur(2px);
}

.safety-progress-card {
  box-sizing: border-box;
  width: min(92vw,390px);
  padding: 24px 22px 20px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(7,25,44,.28);
  text-align: center;
  color: #18324d;
}

.safety-progress-spinner {
  width: 38px;
  height: 38px;
  margin: 0 auto 14px;
  border: 4px solid #dfe8f0;
  border-top-color: #f4c400;
  border-radius: 50%;
  animation: safetySpin .85s linear infinite;
}

.safety-progress-card strong {
  display: block;
  font-size: 17px;
  line-height: 1.4;
  color: #102b49;
}

.safety-progress-card p {
  margin: 7px 0 14px;
  color: #697887;
  font-size: 12px;
  line-height: 1.5;
  word-break: keep-all;
}

.safety-progress-track {
  position: relative;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7edf2;
}

.safety-progress-track span {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -38%;
  width: 38%;
  border-radius: 999px;
  background: linear-gradient(90deg,#f4c400,#ffd941);
  animation: safetyProgress 1.15s ease-in-out infinite;
}

.safety-progress-card small {
  display: block;
  margin-top: 9px;
  color: #83909d;
  font-size: 11px;
}

.safety-progress-active body {
  overflow: hidden!important;
}

@keyframes safetySpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes safetyProgress {
  0% {
    left: -38%;
  }

  100% {
    left: 100%;
  }
}

.safety-back-button {
  white-space: nowrap!important;
}

.safety-print-body .safety-print-pages .safety-print-sheet {
  min-height: 284mm;
  display: flex;
  flex-direction: column;
}

.safety-print-body .safety-print-photo-grid {
  flex: 1;
  grid-template-rows: repeat(4,minmax(0,1fr));
  align-items: stretch;
  min-height: 132mm;
}

.safety-print-body .safety-print-photo-grid figure {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.safety-print-body .safety-print-photo-grid figure>div {
  flex: 1;
  height: auto;
  min-height: 28mm;
}

.safety-print-body .safety-print-footer {
  margin-top: 2mm;
  padding-top: 1.3mm;
  border-top: 1px solid #d7dee5;
}

@media(max-width:700px) {
  .safety-progress-card {
    padding: 21px 18px 18px;
    border-radius: 13px;

  }

  .safety-progress-card strong {
    font-size: 16px;

  }
}

.safety-login-visual-logo {
  align-self: flex-start!important;
  width: max-content!important;
  max-width: 100%!important;
  flex: 0 0 auto!important;
}

.safety-admin-shell .safety-admin-workspace {
  margin-left: 0!important;
}

.safety-claim-review-photos.safety-claim-review-gallery {
  display: block!important;
  width: 100%!important;
  box-sizing: border-box!important;
}

.safety-claim-review-photos.safety-claim-review-gallery>div:first-child {
  display: flex!important;
  align-items: center!important;
  justify-content: space-between!important;
  gap: 10px!important;
}

.safety-claim-review-photos.safety-claim-review-gallery>p {
  margin: 5px 0 0!important;
}

.safety-review-photo-grid {
  width: 100%!important;
  box-sizing: border-box!important;
}

.safety-history-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.safety-history-title>span {
  color: #7d8996;
  font-size: 12px;
}

.safety-history-wrap {
  width: 100%;
  margin-top: 14px;
  overflow-x: auto;
  border: 1px solid #dce4eb;
  border-radius: 10px;
  background: #fff;
}

.safety-history-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  table-layout: fixed;
}

.safety-history-table th,.safety-history-table td {
  padding: 11px 12px;
  border-right: 1px solid #eef2f5;
  border-bottom: 1px solid #e8edf2;
  text-align: left;
  vertical-align: top;
  line-height: 1.45;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.safety-history-table th:last-child,.safety-history-table td:last-child {
  border-right: 0;
}

.safety-history-table tbody tr:last-child td {
  border-bottom: 0;
}

.safety-history-table th {
  background: #eef3f8;
  color: #536273;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.safety-history-table td {
  color: #34475a;
  font-size: 13px;
}

.safety-history-table th:nth-child(1) {
  width: 125px;
}

.safety-history-table th:nth-child(2) {
  width: 145px;
}

.safety-history-table th:nth-child(3) {
  width: 95px;
}

.safety-history-table th:nth-child(4) {
  width: 240px;
}

.safety-history-table th:nth-child(5) {
  width: auto;
}

.safety-history-table td.status strong {
  color: #173b61;
}

.safety-history-table td.reason,.safety-history-table td.memo {
  white-space: pre-wrap;
}

@media(max-width:700px) {
  .safety-claim-wizard-step[data-step="4"] .safety-claim-review-photos.safety-claim-review-gallery {
    display: block!important;
    width: 100%!important;
    padding: 12px!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 10px!important;
    width: 100%!important;
    margin-top: 10px!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid figure {
    width: 100%!important;
    min-width: 0!important;
    margin: 0!important;
    overflow: hidden!important;
    background: #fff!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid figure>div {
    width: 100%!important;
    height: auto!important;
    aspect-ratio: 4/3!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid img {
    width: 100%!important;
    height: 100%!important;
    object-fit: cover!important;

  }

  .safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid figcaption {
    min-height: 34px!important;
    padding: 7px 6px!important;
    font-size: 12px!important;

  }

  .safety-history-title {
    display: block;

  }

  .safety-history-title>span {
    display: block;
    margin-top: 5px;

  }
}

.safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid [data-review-photo-empty] {
  display: none!important;
}

.safety-claim-wizard-step[data-step="4"] .safety-review-photo-grid figure.filled img {
  display: block!important;
  width: 100%!important;
  height: 100%!important;
  flex: 1 1 100%!important;
}

.safety-admin-list-scroll .safety-claim-list-row {
  min-height: 68px!important;
  height: auto!important;
  align-items: start!important;
}

.safety-admin-list-scroll .safety-claim-list-row>span {
  padding-top: 12px;
  padding-bottom: 12px;
}

.safety-admin-list-scroll .safety-claim-list-row .description,.safety-claim-list-selection-row .description {
  display: block!important;
  min-width: 0!important;
  width: 100%!important;
  height: auto!important;
  min-height: 0!important;
  margin: 0!important;
  padding: 12px 0!important;
  border: 0!important;
  border-radius: 0!important;
  box-shadow: none!important;
  outline: 0!important;
  background: transparent!important;
  color: inherit!important;
  white-space: pre-wrap!important;
  overflow: visible!important;
  text-overflow: clip!important;
  overflow-wrap: anywhere!important;
  word-break: break-word!important;
  line-height: 1.55!important;
}

.safety-admin-list-scroll .safety-claim-list-row .actions {
  align-self: center!important;
}

.safety-admin-list-scroll .safety-claim-list-row .safety-claim-status {
  align-self: center!important;
}

.safety-claim-photo-card.filled .safety-photo-empty,.safety-claim-photo-preview[style*="background-image"] .safety-photo-empty {
  display: none!important;
}

.safety-claim-photo-card.filled .safety-claim-photo-preview,.safety-claim-photo-preview[style*="background-image"] {
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: cover!important;
}

.safety-fixed-value {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 13px;
  border: 1px solid #d5dee6;
  border-radius: 11px;
  background: #f6f8fa;
}

.safety-fixed-value strong {
  color: #24384b;
  font-size: 14px;
}

.safety-fixed-value small {
  color: #8593a2;
  font-size: 10px;
}

.safety-form-step-button:disabled {
  opacity: .42;
  cursor: not-allowed;
  pointer-events: none;
}

.safety-auto-save-note {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  color: #7d8997;
  font-size: 10px;
  font-weight: 700;
}

.safety-claim-step-actions-layout [data-next-step][hidden],.safety-claim-step-actions-layout [data-submit-step][hidden],.safety-claim-step-actions-layout [data-prev-step][hidden] {
  display: none!important;
}

@media(max-width:760px) {
  .safety-auto-save-note {
    grid-column: 1/-1;
    min-height: auto;
    padding: 2px 0 5px;
    font-size: 9px;

  }
}

.safety-claim-step-actions-layout:has(.safety-auto-save-note) {
  display: grid!important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr)!important;
  gap: 10px!important;
  align-items: center!important;
  padding: 16px 20px!important;
}

.safety-claim-step-actions-layout:has(.safety-auto-save-note) .spacer {
  display: none!important;
}

.safety-claim-step-actions-layout:has(.safety-auto-save-note) .safety-auto-save-note {
  grid-column: 1 / -1!important;
  grid-row: 1!important;
  display: block!important;
  width: 100%!important;
  min-height: auto!important;
  padding: 0 2px 2px!important;
  margin: 0!important;
  color: #7c8998!important;
  font-size: 10px!important;
  line-height: 1.5!important;
}

.safety-claim-step-actions-layout:has(.safety-auto-save-note) [data-prev-step] {
  grid-column: 1!important;
  grid-row: 2!important;
  width: 100%!important;
  min-height: 48px!important;
  margin: 0!important;
}

.safety-claim-step-actions-layout:has(.safety-auto-save-note) [data-next-step] {
  grid-column: 2!important;
  grid-row: 2!important;
  width: 100%!important;
  min-height: 48px!important;
  margin: 0!important;
}

.safety-claim-step-actions-layout:has(.safety-auto-save-note) [data-submit-step] {
  grid-column: 2!important;
  grid-row: 2!important;
  width: 100%!important;
  min-height: 48px!important;
  margin: 0!important;
}

.safety-claim-step-actions-layout:has(.safety-auto-save-note):has([data-prev-step][hidden]) [data-next-step]:not([hidden]) {
  grid-column: 1 / -1!important;
}

.safety-claim-step-actions-layout:has(.safety-auto-save-note) [hidden] {
  display: none!important;
}

@media(max-width:760px) {
  .safety-claim-step-actions-layout:has(.safety-auto-save-note) {
    grid-template-columns: minmax(0,1fr) minmax(0,1fr)!important;
    gap: 8px!important;
    padding: 13px!important;

  }

  .safety-claim-step-actions-layout:has(.safety-auto-save-note) .safety-auto-save-note {
    grid-column: 1 / -1!important;
    padding: 0 2px 3px!important;
    font-size: 9px!important;

  }

  .safety-claim-step-actions-layout:has(.safety-auto-save-note) [data-prev-step],.safety-claim-step-actions-layout:has(.safety-auto-save-note) [data-next-step],.safety-claim-step-actions-layout:has(.safety-auto-save-note) [data-submit-step] {
    min-height: 48px!important;

  }
}


/* ---- resources/styles/60-admin-data.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 60-admin-data.css
 * 화면: 관리자 목록·상품·엑셀
 * 수정: 관리자 표, 폼, 업로드와 데이터 관리
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-claims-filter {
  flex-wrap: wrap;
}

.safety-date-presets {
  display: flex;
  align-items: center;
  gap: 5px;
}

.safety-date-presets button {
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #d3dde6;
  border-radius: 9px;
  background: #fff;
  color: #66768a;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
  transition: .15s ease;
}

.safety-date-presets button:hover {
  border-color: #9fb0bf;
  background: #f5f8fa;
  color: #263b50;
}

.safety-date-presets button.active {
  border-color: #102f50;
  background: #102f50;
  color: #fff;
}

.safety-date-range {
  display: flex;
  align-items: center;
  gap: 6px;
}

.safety-date-range input[type="date"] {
  width: 145px;
  min-height: 40px;
}

@media(max-width:1100px) {
  .safety-date-presets {
    order: 20;

  }

  .safety-date-range {
    order: 21;

  }
}

@media(max-width:760px) {
  .safety-date-presets {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 5px;

  }

  .safety-date-presets button {
    width: 100%;
    padding-inline: 5px;
    font-size: 9px;

  }

  .safety-date-range {
    width: 100%;

  }

  .safety-date-range input[type="date"] {
    flex: 1;
    width: auto;
    min-width: 0;

  }
}

.safety-approved-export-form {
  display: flex!important;
  flex-wrap: wrap;
  align-items: flex-end!important;
  gap: 7px!important;
}

.safety-approved-export-title {
  align-self: center;
  color: #34485d;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.safety-approved-export-presets {
  display: flex;
  align-items: center;
  gap: 4px;
}

.safety-approved-export-presets button {
  min-height: 34px;
  padding: 6px 9px;
  border: 1px solid #d4dde5;
  border-radius: 8px;
  background: #fff;
  color: #647489;
  font: inherit;
  font-size: 9px;
  font-weight: 900;
  white-space: nowrap;
  cursor: pointer;
}

.safety-approved-export-presets button:hover {
  border-color: #9eafbe;
  background: #f6f8fa;
  color: #263a4d;
}

.safety-approved-export-presets button.active {
  border-color: #102f50;
  background: #102f50;
  color: #fff;
}

.safety-approved-export-range {
  display: flex;
  align-items: flex-end;
  gap: 5px;
}

.safety-approved-export-range label {
  display: grid!important;
  gap: 3px;
}

.safety-approved-export-range label > span {
  color: #7b8999;
  font-size: 8px;
  font-weight: 800;
}

.safety-approved-export-range input[type="date"] {
  width: 135px;
  min-height: 34px;
  padding: 6px 8px;
  font-size: 10px;
}

.safety-approved-export-range .wave {
  padding-bottom: 9px;
}

@media(max-width:1200px) {
  .safety-approved-export-form {
    width: 100%;

  }
}

@media(max-width:760px) {
  .safety-approved-export-title {
    width: 100%;

  }

  .safety-approved-export-presets {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(5,1fr);

  }

  .safety-approved-export-presets button {
    width: 100%;
    padding-inline: 3px;

  }

  .safety-approved-export-range {
    flex: 1;

  }

  .safety-approved-export-range label {
    flex: 1;

  }

  .safety-approved-export-range input[type="date"] {
    width: 100%;

  }
}

.safety-claims-clean-head {
  align-items: flex-start!important;
}

.safety-claims-head-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.safety-claims-head-copy p {
  max-width: none!important;
  white-space: normal!important;
  overflow: visible!important;
  text-overflow: clip!important;
  line-height: 1.55!important;
}

.safety-claims-clean-head .safety-multi-print-form {
  flex: 0 0 auto;
  margin: 0;
}

.safety-claims-bottom-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 13px;
  padding: 12px 14px;
  border: 1px solid #e0e6ec;
  border-radius: 10px;
  background: #f8fafc;
}

.safety-claims-bottom-tools>span {
  margin-right: auto;
  color: #7a8795;
  font-size: 12px;
  font-weight: 800;
}

.safety-excel-page-head {
  margin-bottom: 16px!important;
}

.safety-excel-primary-card {
  margin-bottom: 20px;
  border-top: 4px solid var(--safety-app-navy)!important;
}

.safety-excel-card-head>div,.safety-excel-section-head>div,.safety-excel-danger-heading {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

.safety-excel-card-head {
  margin-bottom: 16px;
}

.safety-excel-card-head h2,.safety-excel-section-head h2,.safety-excel-danger-heading h2 {
  margin: 0;
  color: var(--safety-app-navy);
  font-size: 19px;
}

.safety-excel-card-head p,.safety-excel-section-head p,.safety-excel-danger-heading p {
  margin: 4px 0 0;
  color: #788695;
  font-size: 12px;
  line-height: 1.55;
}

.safety-excel-order {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 26px;
  border-radius: 7px;
  background: #102f50;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

.safety-excel-section-head {
  margin: 25px 2px 10px;
}

.safety-excel-upload-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px;
}

.safety-excel-upload-card {
  min-width: 0;
}

.safety-excel-upload-card .safety-section-heading {
  align-items: flex-start;
}

.safety-excel-upload-card .safety-section-heading>div {
  min-width: 0;
}

.safety-excel-upload-card .safety-help {
  margin: 5px 0 0;
}

.safety-excel-approved-export {
  display: flex;
  align-items: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}

.safety-excel-approved-export .safety-approved-export-presets {
  margin-right: 4px;
}

.safety-excel-subnote {
  margin: 11px 0 0;
  color: #7a8795;
  font-size: 11px;
}

.safety-excel-danger-zone {
  margin-top: 30px;
  padding-top: 18px;
  border-top: 2px solid #e7d2d2;
}

.safety-excel-danger-heading {
  margin-bottom: 10px;
}

.safety-excel-danger-heading .safety-excel-order {
  background: #9a3333;
}

.safety-excel-danger-heading h2 {
  color: #8f3030;
}

.safety-excel-danger-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 13px;
}

.safety-excel-danger-grid>.safety-card {
  margin: 0;
  background: #fffafa;
  border-color: #ead5d5;
}

.safety-excel-upload-grid .safety-card,.safety-excel-danger-grid .safety-card {
  min-width: 0;
}

@media(max-width:1000px) {
  .safety-excel-upload-grid,.safety-excel-danger-grid {
    grid-template-columns: 1fr;

  }
}

@media(max-width:760px) {
  .safety-claims-clean-head {
    flex-direction: column;

  }

  .safety-claims-clean-head .safety-multi-print-form,.safety-claims-clean-head .safety-multi-print-form .safety-action-button {
    width: 100%;

  }

  .safety-claims-bottom-tools {
    align-items: stretch;
    flex-direction: column;

  }

  .safety-claims-bottom-tools>span {
    margin: 0;

  }

  .safety-claims-bottom-tools .safety-action-button {
    width: 100%;

  }

  .safety-excel-approved-export {
    display: grid;
    grid-template-columns: 1fr;

  }

  .safety-excel-approved-export .safety-approved-export-presets {
    width: 100%;
    margin: 0;

  }

  .safety-excel-approved-export .safety-approved-export-range {
    width: 100%;

  }

  .safety-excel-approved-export>.safety-action-button {
    width: 100%;

  }

  .safety-excel-upload-card .safety-section-heading {
    flex-direction: column;

  }

  .safety-excel-upload-card .safety-section-heading>.safety-action-button {
    width: 100%;

  }

  .safety-excel-upload-card .safety-upload-form {
    align-items: stretch;
    flex-direction: column;

  }

  .safety-excel-upload-card .safety-upload-form .safety-action-button {
    width: 100%;

  }
}


/* ---- resources/styles/65-history-navigation.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 65-history-navigation.css
 * 화면: 삭제내역·승인내역·메뉴
 * 수정: 삭제내역, 승인내역, 메뉴와 화면 전환
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-claims-list-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin: -6px 0 14px;
  padding: 0 2px;
}

.safety-claims-list-tools>span {
  margin-right: auto;
  color: #7b8794;
  font-size: 12px;
  line-height: 1.5;
}

.safety-claims-list-tools .safety-action-button {
  flex: 0 0 auto;
  min-height: 38px;
}

.safety-claims-bottom-tools {
  display: none!important;
}

.safety-excel-primary-card {
  padding: 25px!important;
}

.safety-excel-primary-card .safety-excel-card-head {
  margin-bottom: 20px;
}

.safety-excel-primary-card .safety-excel-card-head h2 {
  font-size: 24px!important;
  line-height: 1.25;
}

.safety-excel-primary-card .safety-excel-card-head p {
  margin-top: 7px!important;
  font-size: 14px!important;
  line-height: 1.6!important;
}

.safety-excel-primary-card .safety-excel-order {
  width: 38px;
  height: 31px;
  font-size: 12px;
}

.safety-excel-primary-card .safety-approved-export-presets {
  gap: 7px;
}

.safety-excel-primary-card .safety-approved-export-presets button {
  min-height: 42px!important;
  padding: 8px 14px!important;
  border-radius: 9px;
  font-size: 13px!important;
}

.safety-excel-primary-card .safety-approved-export-range {
  gap: 8px;
}

.safety-excel-primary-card .safety-approved-export-range label>span {
  margin-bottom: 2px;
  font-size: 12px!important;
}

.safety-excel-primary-card .safety-approved-export-range input[type="date"] {
  width: 155px!important;
  min-height: 42px!important;
  padding: 7px 10px!important;
  font-size: 14px!important;
}

.safety-excel-primary-card .safety-approved-export-range .wave {
  padding-bottom: 11px;
  font-size: 15px;
}

.safety-excel-primary-card .safety-excel-approved-export>.safety-action-button {
  min-height: 42px;
  padding-inline: 18px;
  font-size: 14px;
}

.safety-excel-primary-card .safety-excel-subnote {
  margin-top: 14px;
  font-size: 13px!important;
  line-height: 1.6;
}

.alert[data-auto-dismiss-success] {
  overflow: hidden;
  opacity: 1;
  max-height: 180px;
  transform: translateY(0);
  transition: opacity .28s ease,transform .28s ease,max-height .32s ease,padding .32s ease,margin .32s ease,border-width .32s ease;
}

.alert[data-auto-dismiss-success].safety-flash-hiding {
  opacity: 0;
  max-height: 0;
  padding-top: 0!important;
  padding-bottom: 0!important;
  margin-top: 0!important;
  margin-bottom: 0!important;
  border-width: 0!important;
  transform: translateY(-5px);
}

@media(max-width:760px) {
  .safety-claims-list-tools {
    align-items: stretch;
    flex-direction: column;
    margin-top: -4px;

  }

  .safety-claims-list-tools>span {
    width: 100%;
    margin: 0;

  }

  .safety-claims-list-tools .safety-action-button {
    width: 100%;

  }

  .safety-excel-primary-card {
    padding: 19px!important;

  }

  .safety-excel-primary-card .safety-excel-card-head h2 {
    font-size: 21px!important;

  }

  .safety-excel-primary-card .safety-excel-card-head p {
    font-size: 13px!important;

  }

  .safety-excel-primary-card .safety-approved-export-presets button {
    min-height: 40px!important;
    padding-inline: 5px!important;
    font-size: 11px!important;

  }

  .safety-excel-primary-card .safety-approved-export-range input[type="date"] {
    width: 100%!important;

  }
}

.safety-claims-view-switch {
  align-items: center;
  justify-content: flex-end;
  margin: 0 0 8px;
}

.safety-claims-view-switch .safety-action-button {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 14px;
}

.safety-claims-list-tools,.safety-claims-bottom-tools {
  display: none!important;
}

@media(max-width:700px) {
  .safety-claims-view-switch {
    align-items: stretch;

  }

  .safety-claims-view-switch .safety-action-button {
    width: 100%;

  }
}

.safety-claims-head-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 0 0 auto;
}

.safety-claims-head-actions .safety-multi-print-form {
  margin: 0;
}

.safety-claims-head-actions .safety-action-button {
  min-height: 42px;
}

.safety-claims-view-switch {
  display: none!important;
}

@media(max-width:700px) {
  .safety-claims-head-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));

  }

  .safety-claims-head-actions .safety-multi-print-form,.safety-claims-head-actions .safety-multi-print-form .safety-action-button,.safety-claims-head-actions>.safety-action-button {
    width: 100%;

  }

  .safety-claims-head-actions>.safety-action-button:only-child {
    grid-column: 1/-1;

  }
}

.safety-store-search-combo {
  position: relative;
  flex: 0 1 270px;
  width: 270px;
  min-width: 220px;
}

.safety-filter-bar .safety-store-search-input {
  width: 100%;
  min-width: 0!important;
  padding-right: 34px;
  background: #fff;
}

.safety-store-search-combo:after {
  content: "⌕";
  position: absolute;
  right: 12px;
  top: 11px;
  color: #8795a4;
  font-size: 17px;
  line-height: 1;
  pointer-events: none;
}

.safety-store-search-results {
  position: absolute;
  z-index: 150;
  left: 0;
  right: 0;
  top: calc(100% + 5px);
  max-height: 330px;
  overflow: auto;
  padding: 5px;
  border: 1px solid #c9d4df;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(17,43,70,.16);
}

.safety-store-search-option {
  display: block;
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  border: 0;
  border-radius: 6px;
  background: #fff;
  color: #26394c;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.safety-store-search-option:hover {
  background: #f0f5fa;
}

.safety-store-search-option.selected {
  background: #e8f0f8;
  color: #123f69;
}

.safety-store-search-empty {
  padding: 15px 10px;
  color: #8995a1;
  font-size: 12px;
  text-align: center;
}

@media(max-width:900px) {
  .safety-store-search-combo {
    flex: 1 1 240px;
    width: auto;

  }
}

@media(max-width:700px) {
  .safety-store-search-combo {
    flex: 1 1 100%;
    width: 100%;

  }
}

.safety-compensation-reason-label {
  display: grid;
  gap: 6px;
  color: #46586a;
  font-size: 12px;
  font-weight: 900;
}

.safety-compensation-reason-label>b {
  color: #c62f2f;
}

.safety-action-form select[name="compensation_reason"] {
  width: 100%;
  min-height: 42px;
  padding: 8px 11px;
  border: 1px solid #cfd8e1;
  border-radius: 8px;
  background: #fff;
  color: #26384a;
  font: inherit;
  font-size: 13px;
}


/* ---- resources/styles/70-print-detail.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 70-print-detail.css
 * 화면: 접수 상세·인쇄
 * 수정: A4 출력, 사진 비율, 캡션과 승인 상세
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-admin-approval-detail {
  border-top: 4px solid #2f7b52!important;
}

.safety-admin-approval-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 16px;
}

.safety-admin-approval-head h2 {
  margin: 0;
  color: #173b61;
  font-size: 18px;
}

.safety-admin-approval-head p {
  margin: 5px 0 0;
  color: #7b8896;
  font-size: 12px;
  line-height: 1.5;
}

.safety-admin-approval-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin: 0;
  border: 1px solid #dbe3ea;
  border-radius: 10px;
  overflow: hidden;
}

.safety-admin-approval-grid>div {
  min-width: 0;
  padding: 13px 14px;
  border-right: 1px solid #e7edf2;
  border-bottom: 1px solid #e7edf2;
  background: #fff;
}

.safety-admin-approval-grid>div:nth-child(2n) {
  border-right: 0;
}

.safety-admin-approval-grid>div.full {
  grid-column: 1/-1;
  border-right: 0;
}

.safety-admin-approval-grid>div:nth-last-child(-n+1) {
  border-bottom: 0;
}

.safety-admin-approval-grid dt {
  margin: 0 0 5px;
  color: #7b8794;
  font-size: 11px;
  font-weight: 800;
}

.safety-admin-approval-grid dd {
  margin: 0;
  color: #273b4e;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.safety-admin-approval-grid dd strong {
  color: #226c46;
  font-size: 16px;
}

.safety-admin-approval-grid dd.muted,.safety-admin-approval-grid .muted {
  color: #929da8;
  font-size: 12px;
  font-weight: 600;
}

.safety-admin-approval-grid dd.multiline {
  white-space: pre-wrap;
  word-break: break-word;
}

@media(max-width:700px) {
  .safety-admin-approval-grid {
    grid-template-columns: 1fr;

  }

  .safety-admin-approval-grid>div,.safety-admin-approval-grid>div:nth-child(2n) {
    border-right: 0;

  }

  .safety-admin-approval-grid>div.full {
    grid-column: auto;

  }
}

.safety-print-photo-grid img {
  display: block!important;
  width: 100%!important;
  height: 100%!important;
  max-width: 100%!important;
  max-height: 100%!important;
  object-fit: contain!important;
  object-position: center center!important;
}

.safety-print-photo-grid {
  gap: 5px!important;
}

.safety-print-photo-grid figure {
  align-self: start!important;
}

.safety-print-table {
  width: 100%!important;
  margin: 3px 0!important;
  border-collapse: collapse!important;
  table-layout: fixed!important;
}

.safety-print-table th,.safety-print-table td {
  height: auto!important;
  min-height: 0!important;
  padding: 2px 4px!important;
  font-size: 8.5px!important;
  line-height: 1.15!important;
  vertical-align: middle!important;
}

.safety-print-table th {
  width: 15%!important;
  font-weight: 800!important;
  white-space: nowrap!important;
}

.safety-print-table td {
  font-weight: 600!important;
  word-break: break-word!important;
}

.safety-print-table .product-name-row th,.safety-print-table .product-name-row td {
  padding-top: 3px!important;
  padding-bottom: 3px!important;
  font-size: 9.2px!important;
  line-height: 1.2!important;
}

.safety-print-header {
  margin-bottom: 3px!important;
  padding-bottom: 4px!important;
}

.safety-print-header strong {
  font-size: 16px!important;
}

.safety-print-header span {
  font-size: 7.5px!important;
}

.safety-print-photo-grid {
  display: grid!important;
  grid-template-columns: repeat(2,minmax(0,1fr))!important;
  grid-auto-rows: auto!important;
  column-gap: 5px!important;
  row-gap: 5px!important;
  margin-top: 5px!important;
  align-items: start!important;
  align-content: start!important;
}

.safety-print-photo-grid figure {
  display: block!important;
  width: 100%!important;
  height: auto!important;
  min-height: 0!important;
  max-height: none!important;
  margin: 0!important;
  padding: 0!important;
  border: 1px solid #ccd5dd!important;
  background: #fff!important;
  overflow: hidden!important;
  break-inside: avoid!important;
  page-break-inside: avoid!important;
}

.safety-print-photo-grid figure>div {
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  width: 100%!important;
  height: 140px!important;
  min-height: 140px!important;
  max-height: 140px!important;
  margin: 0!important;
  padding: 2px!important;
  box-sizing: border-box!important;
  overflow: hidden!important;
  background: #fff!important;
}

.safety-print-photo-grid figure img {
  display: block!important;
  width: auto!important;
  height: auto!important;
  max-width: 100%!important;
  max-height: 100%!important;
  object-fit: contain!important;
  object-position: center center!important;
  margin: auto!important;
  padding: 0!important;
}

.safety-print-photo-grid figcaption {
  display: block!important;
  height: auto!important;
  min-height: 0!important;
  margin: 0!important;
  padding: 2px 3px!important;
  font-size: 9px!important;
  font-weight: 800!important;
  line-height: 1.05!important;
  text-align: center!important;
  background: #fff!important;
  color: #142b40!important;
}

.safety-print-photo-grid figure:nth-child(7) {
  grid-column: 1 / -1!important;
  width: calc(50% - 2.5px)!important;
  justify-self: center!important;
}

.safety-print-eight {
  width: 100%!important;
  table-layout: fixed!important;
  border-collapse: collapse!important;
  margin: 4px 0 6px!important;
}

.safety-print-eight col.label-col {
  width: 9.5%!important;
}

.safety-print-eight col.value-col {
  width: 15.5%!important;
}

.safety-print-eight th,.safety-print-eight td {
  width: auto!important;
  height: auto!important;
  min-height: 0!important;
  padding: 3px 4px!important;
  font-size: 9.4px!important;
  line-height: 1.2!important;
  vertical-align: middle!important;
}

.safety-print-eight th {
  font-weight: 800!important;
  white-space: nowrap!important;
}

.safety-print-eight td {
  font-weight: 600!important;
  overflow-wrap: anywhere!important;
  word-break: break-word!important;
}

.safety-print-eight td.product-name-cell {
  font-size: 9.8px!important;
  font-weight: 700!important;
  line-height: 1.2!important;
}

body.safety-print-body .safety-print-pages .safety-print-sheet {
  display: flex!important;
  flex-direction: column!important;
  box-sizing: border-box!important;
  height: 284mm!important;
  min-height: 284mm!important;
  max-height: 284mm!important;
  overflow: hidden!important;
}

body.safety-print-body .safety-print-photo-grid {
  display: grid!important;
  flex: 1 1 auto!important;
  grid-template-columns: repeat(2,minmax(0,1fr))!important;
  grid-template-rows: repeat(4,minmax(0,1fr))!important;
  grid-auto-rows: minmax(0,1fr)!important;
  min-height: 0!important;
  align-items: stretch!important;
  align-content: stretch!important;
}

body.safety-print-body .safety-print-photo-grid figure {
  display: flex!important;
  flex-direction: column!important;
  box-sizing: border-box!important;
  height: 100%!important;
  min-height: 0!important;
  max-height: none!important;
}

body.safety-print-body .safety-print-photo-grid figure > div {
  display: flex!important;
  flex: 1 1 auto!important;
  box-sizing: border-box!important;
  height: auto!important;
  min-height: 0!important;
  max-height: none!important;
}

html body.safety-print-body .safety-print-photo-grid figure img {
  display: block!important;
  width: auto!important;
  height: auto!important;
  max-width: 100%!important;
  max-height: 100%!important;
  margin: auto!important;
  object-fit: contain!important;
  object-position: center center!important;
}

@page {
  size: A4 portrait;
  margin: 5mm;
}

@media print {
  body.safety-print-body {
    box-sizing: border-box!important;
    width: 200mm!important;
    min-width: 0!important;
    max-width: 200mm!important;
    height: auto!important;
    margin: 0!important;
    padding: 0!important;
    background: #fff!important;
    -webkit-print-color-adjust: exact!important;
    print-color-adjust: exact!important;

  }

  body.safety-print-body .safety-print-toolbar,body.safety-print-body .no-print {
    display: none!important;

  }

  .safety-screen-detail {
    display: none!important;

  }

  .safety-single-print-only {
    display: block!important;
    box-sizing: border-box!important;
    width: 200mm!important;
    max-width: 200mm!important;
    margin: 0!important;
    padding: 0!important;

  }

  body.safety-print-body .safety-print-pages {
    display: block!important;
    box-sizing: border-box!important;
    width: 100%!important;
    min-width: 0!important;
    max-width: 100%!important;
    margin: 0!important;
    padding: 0!important;

  }

  body.safety-print-body .safety-print-pages .safety-print-sheet,.safety-single-print-only .safety-print-sheet {
    display: flex!important;
    flex-direction: column!important;
    box-sizing: border-box!important;
    width: 100%!important;
    min-width: 0!important;
    max-width: 100%!important;
    height: 286mm!important;
    min-height: 286mm!important;
    max-height: 286mm!important;
    margin: 0!important;
    padding: 3mm!important;
    overflow: hidden!important;
    box-shadow: none!important;
    transform: none!important;
    break-inside: avoid-page!important;
    page-break-inside: avoid!important;
    break-after: page!important;
    page-break-after: always!important;

  }

  body.safety-print-body .safety-print-pages .safety-print-sheet:last-child,.safety-single-print-only .safety-print-sheet {
    break-after: auto!important;
    page-break-after: auto!important;

  }

  .safety-print-header {
    flex: 0 0 auto!important;
    margin: 0 0 3px!important;
    padding: 0 0 4px!important;

  }

  .safety-print-header strong {
    font-size: 16px!important;

  }

  .safety-print-header span {
    font-size: 7.5px!important;

  }

  table.safety-print-table.safety-print-eight {
    display: table!important;
    flex: 0 0 auto!important;
    width: 100%!important;
    table-layout: fixed!important;
    border-collapse: collapse!important;
    border-spacing: 0!important;
    margin: 3px 0 5px!important;

  }

  table.safety-print-table.safety-print-eight > tbody {
    display: table-row-group!important;

  }

  table.safety-print-table.safety-print-eight tr {
    display: table-row!important;

  }

  table.safety-print-table.safety-print-eight th,table.safety-print-table.safety-print-eight td {
    display: table-cell!important;
    float: none!important;
    position: static!important;
    box-sizing: border-box!important;
    width: auto!important;
    height: auto!important;
    min-height: 0!important;
    margin: 0!important;
    padding: 3px 4px!important;
    border: 1px solid #c8cfd6!important;
    font-size: 9.4px!important;
    line-height: 1.2!important;
    vertical-align: middle!important;

  }

  table.safety-print-table.safety-print-eight col.label-col {
    width: 9.5%!important;

  }

  table.safety-print-table.safety-print-eight col.value-col {
    width: 15.5%!important;

  }

  table.safety-print-table.safety-print-eight th {
    font-weight: 800!important;
    white-space: nowrap!important;

  }

  table.safety-print-table.safety-print-eight td {
    font-weight: 600!important;
    overflow-wrap: anywhere!important;
    word-break: break-word!important;

  }

  table.safety-print-table.safety-print-eight td.product-name-cell {
    font-size: 9.8px!important;
    font-weight: 700!important;
    line-height: 1.2!important;

  }

  body.safety-print-body .safety-print-photo-grid,.safety-single-print-only .safety-print-photo-grid {
    display: grid!important;
    flex: 1 1 auto!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    grid-template-rows: repeat(4,minmax(0,1fr))!important;
    grid-auto-rows: minmax(0,1fr)!important;
    column-gap: 5px!important;
    row-gap: 5px!important;
    min-height: 0!important;
    margin: 5px 0 0!important;
    padding: 0!important;
    align-items: stretch!important;
    align-content: stretch!important;

  }

  body.safety-print-body .safety-print-photo-grid figure,.safety-single-print-only .safety-print-photo-grid figure {
    display: flex!important;
    flex-direction: column!important;
    flex: 1 1 auto!important;
    box-sizing: border-box!important;
    width: 100%!important;
    height: 100%!important;
    min-height: 0!important;
    max-height: none!important;
    margin: 0!important;
    padding: 0!important;
    overflow: hidden!important;
    border: 1px solid #ccd5dd!important;
    background: #fff!important;
    break-inside: avoid!important;
    page-break-inside: avoid!important;

  }

  body.safety-print-body .safety-print-photo-grid figure > div,.safety-single-print-only .safety-print-photo-grid figure > div {
    display: flex!important;
    flex: 1 1 auto!important;
    align-items: center!important;
    justify-content: center!important;
    box-sizing: border-box!important;
    width: 100%!important;
    height: auto!important;
    min-height: 0!important;
    max-height: none!important;
    margin: 0!important;
    padding: 2px!important;
    overflow: hidden!important;
    background: #fff!important;

  }

  html body.safety-print-body .safety-print-photo-grid figure img,.safety-single-print-only .safety-print-photo-grid figure img {
    display: block!important;
    width: auto!important;
    height: auto!important;
    max-width: 100%!important;
    max-height: 100%!important;
    margin: auto!important;
    padding: 0!important;
    object-fit: contain!important;
    object-position: center center!important;

  }

  body.safety-print-body .safety-print-photo-grid figcaption,.safety-single-print-only .safety-print-photo-grid figcaption {
    display: block!important;
    height: auto!important;
    min-height: 0!important;
    margin: 0!important;
    padding: 2px 3px!important;
    background: #fff!important;
    color: #142b40!important;
    font-size: 9px!important;
    font-weight: 800!important;
    line-height: 1.05!important;
    text-align: center!important;

  }

  body.safety-print-body .safety-print-photo-grid figure:nth-child(7),.safety-single-print-only .safety-print-photo-grid figure:nth-child(7) {
    grid-column: 1 / -1!important;
    width: calc(50% - 2.5px)!important;
    justify-self: center!important;

  }

  .safety-print-footer {
    flex: 0 0 auto!important;
    margin-top: 2px!important;
    font-size: 7px!important;

  }
}

.safety-print-sheet .safety-print-photo-grid figure,html body.safety-print-body .safety-print-sheet .safety-print-photo-grid figure {
  position: relative!important;
  display: block!important;
  align-self: stretch!important;
  width: 100%!important;
  height: 100%!important;
  min-width: 0!important;
  min-height: 0!important;
  max-width: none!important;
  max-height: none!important;
  box-sizing: border-box!important;
  overflow: hidden!important;
}

.safety-print-sheet .safety-print-photo-grid figure>div,html body.safety-print-body .safety-print-sheet .safety-print-photo-grid figure>div {
  position: absolute!important;
  top: 0!important;
  right: 0!important;
  bottom: 0!important;
  left: 62px!important;
  z-index: 1!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  grid-column: auto!important;
  grid-row: auto!important;
  align-self: auto!important;
  justify-self: auto!important;
  width: auto!important;
  height: auto!important;
  min-width: 0!important;
  min-height: 0!important;
  max-width: none!important;
  max-height: none!important;
  margin: 0!important;
  padding: 2px!important;
  border: 0!important;
  box-sizing: border-box!important;
  background: #fff!important;
  overflow: hidden!important;
}

.safety-print-sheet .safety-print-photo-grid figure>div img,html body.safety-print-body .safety-print-sheet .safety-print-photo-grid figure>div img {
  display: block!important;
  width: 100%!important;
  height: 100%!important;
  min-width: 0!important;
  min-height: 0!important;
  max-width: 100%!important;
  max-height: 100%!important;
  margin: 0!important;
  padding: 0!important;
  object-fit: contain!important;
  object-position: center center!important;
}

.safety-print-sheet .safety-print-photo-grid figure>figcaption,html body.safety-print-body .safety-print-sheet .safety-print-photo-grid figure>figcaption {
  position: absolute!important;
  top: 0!important;
  right: auto!important;
  bottom: 0!important;
  left: 0!important;
  z-index: 2!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  grid-column: auto!important;
  grid-row: auto!important;
  align-self: auto!important;
  justify-self: auto!important;
  width: 62px!important;
  min-width: 62px!important;
  max-width: 62px!important;
  height: auto!important;
  min-height: 0!important;
  max-height: none!important;
  margin: 0!important;
  padding: 4px!important;
  border-top: 0!important;
  border-right: 1px solid #cbd5e1!important;
  border-bottom: 0!important;
  border-left: 0!important;
  box-sizing: border-box!important;
  background: #f8fafc!important;
  color: #1e293b!important;
  font-size: 10px!important;
  font-weight: 600!important;
  line-height: 1.25!important;
  text-align: center!important;
  writing-mode: horizontal-tb!important;
  white-space: normal!important;
  word-break: keep-all!important;
  overflow-wrap: anywhere!important;
  overflow: hidden!important;
}


/* ---- resources/styles/80-validation-search.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 80-validation-search.css
 * 화면: 오류 표시·검색
 * 수정: 한글 오류, 오류 칸 강조, 단계 이동과 검색조건
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-deleted-scope {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  padding: 11px 14px;
  border: 1px solid #fecaca;
  border-radius: 10px;
  background: #fff7f7;
  color: #7f1d1d;
}

.safety-deleted-scope strong {
  flex: 0 0 auto;
  font-size: 14px;
}

.safety-deleted-scope span {
  font-size: 13px;
  line-height: 1.45;
}

.safety-validation-summary {
  margin: 14px 0 18px;
  padding: 14px 16px;
  border: 2px solid #dc2626;
  border-radius: 12px;
  background: #fff7f7;
  color: #7f1d1d;
}

.safety-validation-summary>div strong,.safety-validation-summary>div span {
  display: block;
}

.safety-validation-summary>div strong {
  font-size: 15px;
}

.safety-validation-summary>div span {
  margin-top: 3px;
  font-size: 12px;
}

.safety-validation-summary ul {
  display: grid;
  gap: 6px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.safety-validation-summary button {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: #fff;
  color: #991b1b;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.safety-stepper [data-step-tab].has-error {
  border-color: #dc2626!important;
  background: #fff1f2!important;
  color: #991b1b!important;
}

.safety-field-error {
  position: relative;
  border-radius: 9px;
  outline: 2px solid #dc2626!important;
  outline-offset: 3px;
  background: #fff7f7!important;
}

.safety-field-error input:not([type="hidden"]),.safety-field-error select,.safety-field-error textarea {
  border-color: #dc2626!important;
  box-shadow: 0 0 0 3px rgba(220,38,38,.13)!important;
}

.safety-inline-error {
  display: block;
  width: 100%;
  margin-top: 7px;
  padding: 7px 9px;
  border-radius: 7px;
  background: #fee2e2;
  color: #991b1b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  box-sizing: border-box;
}

.safety-print-sheet table.safety-print-table.safety-print-eight col.label-col,.safety-single-print-only table.safety-print-table.safety-print-eight col.label-col {
  width: 8%!important;
}

.safety-print-sheet table.safety-print-table.safety-print-eight col.value-col-1,.safety-single-print-only table.safety-print-table.safety-print-eight col.value-col-1 {
  width: 14%!important;
}

.safety-print-sheet table.safety-print-table.safety-print-eight col.value-col-2,.safety-single-print-only table.safety-print-table.safety-print-eight col.value-col-2 {
  width: 14%!important;
}

.safety-print-sheet table.safety-print-table.safety-print-eight col.value-col-3,.safety-single-print-only table.safety-print-table.safety-print-eight col.value-col-3 {
  width: 17%!important;
}

.safety-print-sheet table.safety-print-table.safety-print-eight col.value-col-4,.safety-single-print-only table.safety-print-table.safety-print-eight col.value-col-4 {
  width: 23%!important;
}

.safety-print-sheet table.safety-print-table.safety-print-eight td.product-name-cell {
  white-space: normal!important;
  word-break: keep-all!important;
  overflow-wrap: anywhere!important;
}

@media print {
  html body.safety-print-body table.safety-print-table.safety-print-eight col.label-col {
    width: 8%!important;

  }

  html body.safety-print-body table.safety-print-table.safety-print-eight col.value-col-1 {
    width: 14%!important;

  }

  html body.safety-print-body table.safety-print-table.safety-print-eight col.value-col-2 {
    width: 14%!important;

  }

  html body.safety-print-body table.safety-print-table.safety-print-eight col.value-col-3 {
    width: 17%!important;

  }

  html body.safety-print-body table.safety-print-table.safety-print-eight col.value-col-4 {
    width: 23%!important;

  }

  html body.safety-print-body table.safety-print-table.safety-print-eight td.product-name-cell {
    white-space: normal!important;
    word-break: keep-all!important;
    overflow-wrap: anywhere!important;

  }

  .safety-validation-summary,.safety-deleted-scope,.safety-inline-error {
    display: none!important;

  }
}

.safety-claims-filter-controls {
  display: flex!important;
  flex-wrap: wrap!important;
  align-items: center!important;
  gap: 9px!important;
  overflow: visible!important;
}

.safety-claims-filter-controls.is-active-filter.is-admin-filter::before {
  content: "";
  flex: 0 0 100%;
  height: 0;
  order: 4;
}

.safety-claims-filter-controls.is-active-filter.is-admin-filter>input.grow {
  order: 1;
  flex: 1 1 250px!important;
  width: auto!important;
  min-width: 200px!important;
  max-width: none!important;
}

.safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-store-search-combo {
  order: 2;
  flex: 1 1 270px!important;
  width: auto!important;
  min-width: 220px!important;
  max-width: none!important;
}

.safety-claims-filter-controls.is-active-filter.is-admin-filter> select[name="status"] {
  order: 3;
  flex: 0 1 190px!important;
  width: auto!important;
  min-width: 165px!important;
}

.safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-date-presets {
  order: 5;
}

.safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-date-range {
  order: 6;
}

.safety-claims-filter-controls.is-active-filter.is-admin-filter> button[type="submit"] {
  order: 7;
}

.safety-claims-filter-controls.is-active-filter.is-admin-filter> a.safety-action-button {
  order: 8;
}

.safety-claims-filter-controls>small.safety-muted {
  order: 20;
  flex: 1 0 100%;
  width: 100%;
  margin: 0;
  line-height: 1.4;
}

.safety-claims-filter-controls .safety-store-search-input {
  display: block;
  width: 100%!important;
  min-width: 0!important;
  box-sizing: border-box;
}

.safety-claims-filter-controls .safety-store-search-results[hidden] {
  display: none!important;
}

.safety-claims-filter-controls .safety-date-range {
  flex: 0 1 auto;
  min-width: 0;
}

.safety-claims-filter-controls.is-deleted-filter .safety-date-presets {
  flex: 0 1 auto;
}

@media(max-width:760px) {
  .safety-claims-filter-controls.is-active-filter.is-admin-filter::before {
    display: none;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> input.grow,.safety-claims-filter-controls> .safety-store-search-combo,.safety-claims-filter-controls> select[name="status"],.safety-claims-filter-controls> .safety-date-presets,.safety-claims-filter-controls> .safety-date-range {
    order: initial!important;
    flex: 1 1 100%!important;
    width: 100%!important;
    min-width: 0!important;
    max-width: none!important;

  }

  .safety-claims-filter-controls> button[type="submit"],.safety-claims-filter-controls> a.safety-action-button {
    order: initial!important;
    flex: 1 1 calc(50% - 5px);
    width: auto;

  }

  .safety-claims-filter-controls>small.safety-muted {
    order: initial!important;

  }
}

@media(min-width:1280px) {
  .safety-claims-filter-controls.is-active-filter.is-admin-filter {
    display: grid!important;
    grid-template-columns: minmax(125px,1fr) minmax(165px,1.15fr) minmax(112px,.65fr) max-content minmax(200px,.9fr) max-content max-content;
    align-items: center!important;
    gap: 6px!important;
    overflow: visible!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter::before {
    display: none!important;
    content: none!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> input.grow,.safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-store-search-combo,.safety-claims-filter-controls.is-active-filter.is-admin-filter> select[name="status"],.safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-date-presets,.safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-date-range,.safety-claims-filter-controls.is-active-filter.is-admin-filter> button[type="submit"],.safety-claims-filter-controls.is-active-filter.is-admin-filter> a.safety-action-button {
    order: initial!important;
    margin: 0!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> input.grow {
    width: 100%!important;
    min-width: 0!important;
    max-width: none!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-store-search-combo {
    width: 100%!important;
    min-width: 0!important;
    max-width: none!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> select[name="status"] {
    width: 100%!important;
    min-width: 0!important;
    padding-left: 8px!important;
    padding-right: 24px!important;
    font-size: 12px!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-date-presets {
    display: flex!important;
    align-items: center!important;
    gap: 3px!important;
    white-space: nowrap;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter .safety-date-presets button {
    min-height: 38px!important;
    padding: 0 5px!important;
    font-size: 9px!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-date-range {
    display: grid!important;
    grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
    align-items: center!important;
    gap: 3px!important;
    width: 100%!important;
    min-width: 0!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter .safety-date-range input[type="date"] {
    width: 100%!important;
    min-width: 0!important;
    padding-left: 5px!important;
    padding-right: 3px!important;
    font-size: 11px!important;

  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> button[type="submit"],.safety-claims-filter-controls.is-active-filter.is-admin-filter> a.safety-action-button {
    min-height: 40px!important;
    padding: 0 8px!important;
    font-size: 11px!important;
    white-space: nowrap!important;

  }
}


/* ---- resources/styles/85-search-controls.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 85-search-controls.css
 * 화면: 접수관리 검색줄
 * 수정: 매장 폭, 기간 버튼과 날짜 입력 정렬
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

@media (min-width:1280px) {
  .safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-store-search-combo {
    flex: 0 0 210px!important;


  }
}

.safety-claims-filter-controls .safety-date-presets {
  gap: 6px!important;
}

@media (min-width:1280px) {
  .safety-claims-filter-controls.is-active-filter.is-admin-filter {
    grid-template-columns: minmax(125px,1fr) 210px minmax(112px,.65fr) max-content minmax(200px,.9fr) max-content max-content!important;


  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter> .safety-store-search-combo {
    width: 100%!important;
    min-width: 0!important;
    max-width: none!important;


  }
}

@media (min-width:1280px) {
  .safety-claims-filter-controls.is-active-filter.is-admin-filter .safety-date-range input[type="date"] {
    font-size: 14px!important;


  }
}


/* ---- resources/styles/90-page-details.css ---- */
/* ================================================================
 * SAFETY 스타일 편집 원본
 * 파일: 90-page-details.css
 * 화면: 매장 표시·안내 문구·검색 마무리
 * 수정: 매장 강조, 주의문구, 업로드 스크롤과 검색버튼
 * 주의: public/assets/safety*.css는 자동 생성 파일입니다.
 * ================================================================ */

.safety-claim-identity h1 {
  margin-bottom: 2px;
  font-size: 30px;
}

.safety-claim-identity > strong {
  display: block;
  margin-bottom: 6px;
  color: #173f65;
  font-size: 18px;
}

.safety-compensation-reason-label > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.safety-compensation-reason-label > span > b {
  padding: 2px 6px;
  border-radius: 999px;
  background: #fee7e7;
  color: #b42323;
  font-size: 11px;
}

.safety-claim-requirement-warning {
  margin: 8px 0 0;
  color: #c62828;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}

.safety-claim-requirement-warning > strong,.safety-claim-requirement-warning > span {
  display: block;
}

.safety-photo-warning {
  margin: 0 0 14px;
  padding: 11px 13px;
  border: 1px solid #f1bcbc;
  border-radius: 9px;
  background: #fff4f4;
}

.safety-dashboard-period {
  display: flex;
  align-items: end;
  gap: 10px;
  margin-bottom: 16px;
  padding: 12px;
  border: 1px solid #dfe5ec;
  border-radius: 12px;
  background: #fff;
}

.safety-dashboard-presets {
  display: flex;
  gap: 6px;
}

.safety-dashboard-presets button {
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid #cbd6e1;
  border-radius: 9px;
  background: #fff;
  color: #30465d;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.safety-dashboard-presets button.active {
  border-color: #102b49;
  background: #102b49;
  color: #fff;
}

.safety-dashboard-period label {
  display: grid;
  gap: 4px;
  margin-left: auto;
  color: #6d7886;
  font-size: 12px;
  font-weight: 700;
}

.safety-dashboard-period select {
  min-width: 118px;
  height: 42px;
  border: 1px solid #cbd6e1;
  border-radius: 9px;
  padding: 0 10px;
  background: #fff;
  font-size: 14px;
}

.safety-dashboard-month-scroll {
  max-height: 390px;
  overflow: auto;
}

.safety-store-brand strong {
  font-size: 18px;
}

.safety-store-brand small {
  margin-top: 3px;
  color: #526a80;
  font-size: 13px;
  font-weight: 800;
}

.safety-import-history-scroll {
  max-height: 360px;
  overflow: auto;
}

.safety-claims-filter-controls .safety-date-presets button[data-claim-date-preset] {
  box-sizing: border-box;
  min-height: 42px !important;
  padding: 0 10px !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap;
}

@media (min-width: 1280px) {
  .safety-claims-filter-controls.is-active-filter.is-admin-filter {
    grid-template-columns: 150px 210px minmax(112px,.65fr) max-content minmax(200px,.9fr) max-content max-content !important;


  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter > input.grow {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;


  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter .safety-date-presets button[data-claim-date-preset] {
    min-width: 52px !important;
    padding: 0 10px !important;
    font-size: 16px !important;
    letter-spacing: -0.2px;


  }

  .safety-claims-filter-controls.is-active-filter.is-admin-filter .safety-date-presets button[data-claim-date-preset="7days"] {
    min-width: 84px !important;


  }
}

@media (max-width: 900px) {
  .safety-dashboard-period {
    align-items: stretch;
    flex-direction: column;


  }

  .safety-dashboard-presets {
    display: grid;
    grid-template-columns: repeat(5,1fr);


  }

  .safety-dashboard-presets button {
    padding: 0 5px;
    font-size: 12px;


  }

  .safety-dashboard-period label {
    margin-left: 0;


  }
}

