600&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');

:root {
  --ink: #111820;
  --ink-2: #1a242e;
  --paper: #f5f5f1;
  --white: #fff;
  --muted: #69727d;
  --line: #dfe2df;
  --soft: #eaebe7;
  --orange: #ff5c28;
  --orange-2: #e94b1b;
  --green: #3e9c74;
  --yellow: #efb92d;
  --radius: 10px;
  --shadow: 0 24px 70px rgba(11, 18, 24, .14);
  --container: 1180px;
}

/* Auth, role guard, and separated dashboards */
.auth-status-button { min-width: 96px; text-align: right; }
.auth-status-button span { display:flex; flex-direction:column; gap:1px; }
.auth-status-button strong { color:#14213a; font-size:11px; letter-spacing:-.02em; }
.auth-status-button small { color:#8b95a1; font-size:8px; font-weight:800; }
.auth-page { min-height:calc(100vh - 76px); background:#f8fafc; padding:76px 0 110px; }
.auth-page [hidden] { display:none !important; }
.auth-shell { max-width:720px; }
.auth-card { border:1px solid #e2e8f0; border-radius:22px; background:#fff; padding:28px; box-shadow:0 18px 46px rgba(20,33,58,.06); }
.auth-card h1 { margin:8px 0; color:#14213a; font-size:30px; letter-spacing:-.05em; }
.auth-card p { margin:0 0 22px; color:#64748b; font-size:13px; line-height:1.65; }
.auth-form { display:grid; gap:14px; }
.auth-form fieldset { border:0; margin:0; padding:0; }
.auth-form label,.auth-form legend { display:block; color:#263349; font-size:12px; font-weight:900; }
.auth-form label span,.auth-form legend small { color:#f97316; }
.auth-form input,.auth-form select { width:100%; min-height:48px; margin-top:7px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; padding:0 13px; color:#14213a; font-size:13px; }
.auth-form input[type="file"] { height:auto; padding:12px; }
.auth-form input:focus,.auth-form select:focus { outline:2px solid rgba(249,115,22,.14); border-color:#f97316; }
.auth-link { justify-self:center; background:transparent; color:#64748b; font-size:12px; font-weight:800; }
.auth-actions-inline { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.auth-test-accounts { margin-top:18px; border:1px dashed #fed7aa; border-radius:16px; background:#fff7ed; padding:14px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.auth-test-accounts strong { color:#14213a; font-size:12px; }
.auth-test-accounts button { min-height:32px; border-radius:999px; border:1px solid #fdba74; background:#fff; color:#c2410c; padding:0 10px; font-size:10px; font-weight:900; }
.auth-test-accounts small { width:100%; color:#9a3412; font-size:11px; font-weight:800; }
.auth-check-grid { margin-top:8px; }
.vendor-signup-card { max-width:860px; }
.pending-meta { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0; }
.pending-meta div,.role-menu-card,.admin-panel { border:1px solid #e2e8f0; border-radius:16px; background:#f8fafc; padding:16px; }
.pending-meta small { display:block; color:#64748b; font-size:10px; font-weight:900; margin-bottom:4px; }
.pending-meta strong { color:#14213a; font-size:14px; }
.role-menu-card { background:#fff; margin-bottom:16px; }
.role-menu-card h2 { margin:4px 0 14px; color:#14213a; font-size:18px; }
.role-menu-list { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.role-menu-list button { min-height:42px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; color:#334155; font-size:11px; font-weight:900; }
.role-menu-list button.active,.role-menu-list button:hover { border-color:#14213a; background:#14213a; color:#fff; }
.admin-page { min-height:100vh; background:#eef2f7; }
.admin-shell { min-height:100vh; display:grid; grid-template-columns:240px 1fr; }
.admin-sidebar { background:#101827; color:#fff; padding:26px 16px; display:flex; flex-direction:column; gap:6px; }
.admin-sidebar .sidebar-brand { margin-bottom:24px; }
.admin-sidebar button:not(.sidebar-brand) { min-height:40px; border-radius:10px; background:transparent; color:#94a3b8; text-align:left; padding:0 12px; font-size:11px; font-weight:800; }
.admin-sidebar button.active,.admin-sidebar button:not(.sidebar-brand):hover { background:#1e293b; color:#fff; }
.admin-main { min-width:0; }
.admin-content { padding:28px; }
.admin-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; }
.admin-stat-grid article { border:1px solid #e2e8f0; border-radius:16px; background:#fff; padding:18px; }
.admin-stat-grid span { color:#64748b; font-size:11px; font-weight:900; }
.admin-stat-grid strong { display:block; margin-top:8px; color:#14213a; font-size:28px; }
.admin-panel { background:#fff; }
.admin-panel h2 { margin:4px 0 6px; color:#14213a; }
.admin-panel p { margin:0 0 16px; color:#64748b; font-size:12px; }
.admin-table { display:grid; gap:8px; }
.admin-table div { display:grid; grid-template-columns:1fr 90px 1.2fr; gap:10px; align-items:center; border-top:1px solid #eef2f7; padding:10px 0; color:#475569; font-size:12px; }
.admin-table strong { color:#14213a; }
.admin-table span { color:#f97316; font-weight:900; }
.admin-mobile-logout { display:none; }
.summary-grid article[data-my-section],
.my-request-list-card,
.my-community-card {
  cursor: pointer;
}
.summary-grid article[data-my-section]:hover,
.my-request-list-card:hover,
.my-community-card:hover {
  border-color: #f97316;
}
.my-subview-card {
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
  padding: 18px;
}
.my-back-button {
  min-height: 36px;
  margin-bottom: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #f97316;
  padding: 0 13px;
  font-size: 11px;
  font-weight: 900;
}
.my-filter-tabs {
  display: flex;
  gap: 8px;
  overflow: auto;
  scrollbar-width: none;
  margin-bottom: 14px;
}
.my-filter-tabs::-webkit-scrollbar { display:none; }
.my-filter-tabs button {
  flex: 0 0 auto;
  min-height: 36px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  padding: 0 13px;
  font-size: 11px;
  font-weight: 900;
}
.my-filter-tabs button.active {
  border-color: #14213a;
  background: #14213a;
  color: #fff;
}
.my-card-list {
  display: grid;
  gap: 10px;
}
.my-request-list-card,
.my-arrived-quote-card,
.my-community-card,
.my-empty-state {
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  padding: 16px;
}
.my-request-list-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
}
.my-request-list-card small,
.my-community-card p,
.my-arrived-quote-card label span,
.my-quote-spec-grid small {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}
.my-request-list-card h3,
.my-community-card h3 {
  margin: 7px 0 5px;
  color: #14213a;
  font-size: 16px;
  letter-spacing: -.03em;
}
.my-request-list-card p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
}
.status-pill,
.community-category-badge {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  background: #fff7ed;
  color: #ea580c;
  padding: 0 9px;
  font-size: 10px;
  font-weight: 900;
}
.my-request-metrics {
  min-width: 96px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 6px;
  align-items: baseline;
}
.my-request-metrics b {
  color: #14213a;
  font-size: 16px;
}
.my-request-metrics small {
  font-size: 9px;
}
.my-quote-spec-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 13px 0;
}
.my-quote-spec-grid div {
  border: 1px solid #eef2f7;
  border-radius: 12px;
  background: #f8fafc;
  padding: 10px;
}
.my-quote-spec-grid strong {
  display: block;
  margin-top: 4px;
  color: #14213a;
  font-size: 12px;
}
.my-card-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.my-card-actions .button,
.my-card-actions button {
  min-height: 36px;
  border-radius: 10px;
  font-size: 10px;
  padding: 0 10px;
}
.my-favorite-grid {
  grid-template-columns: repeat(3, 1fr);
}
.my-brand-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.my-brand-card {
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  padding: 13px;
}
.my-brand-card > button {
  width: 100%;
  min-height: 112px;
  border-radius: 14px;
  background: #f8fafc;
  display: grid;
  place-items: center;
  gap: 3px;
}
.my-brand-card > button span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #14213a;
  color: #fff;
  font-weight: 900;
}
.my-brand-card p {
  min-height: 34px;
  color: #64748b;
  font-size: 11px;
}
.my-brand-card b {
  display: block;
  margin-bottom: 10px;
  color: #14213a;
  font-size: 12px;
}
.my-profile-form small {
  display: block;
  margin-top: 6px;
  color: #94a3b8;
  font-size: 10px;
}
.my-empty-state {
  display: grid;
  justify-items: start;
  gap: 12px;
  color: #64748b;
}
.my-empty-state strong {
  color: #14213a;
}
@media (max-width:768px) {
  .auth-page { min-height:100vh; padding:24px 0 92px; }
  .auth-shell { width:100%; padding:0 14px; }
  .auth-card { border-radius:18px; padding:20px 16px; }
  .auth-card h1 { font-size:25px; }
  .auth-actions-inline,.pending-meta,.auth-form .field-row { grid-template-columns:1fr; }
  .role-menu-list { grid-template-columns:repeat(2,1fr); }
  .admin-shell { grid-template-columns:1fr; }
  .admin-sidebar { display:none; }
  .admin-mobile-logout { display:inline-flex; min-width:82px; }
  .admin-content { padding:18px 14px 90px; }
  .admin-stat-grid { grid-template-columns:repeat(2,1fr); gap:8px; }
  .admin-table div { grid-template-columns:1fr; }
  .my-subview-card { padding: 14px; }
  .my-request-list-card { grid-template-columns: 1fr; }
  .my-quote-spec-grid { grid-template-columns: repeat(2, 1fr); }
  .my-favorite-grid,
  .my-brand-grid { grid-template-columns: 1fr; }
  .my-card-actions .button,
  .my-card-actions button { flex: 1 1 auto; }
}

.used-listing-thumb.has-image,
.used-detail-thumb.has-image,
.used-photo-item.has-image {
  overflow: hidden;
  background: #0f172a;
}
.used-listing-thumb.has-image img,
.used-detail-thumb.has-image img,
.used-photo-item.has-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.used-listing-thumb.has-image span,
.used-detail-thumb.has-image span {
  position: absolute;
  top: 9px;
  left: 9px;
  width: auto;
  height: 24px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  background: rgba(15,23,42,.82);
  color: #fff;
}
.used-photo-item {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  display: grid;
  place-items: center;
  text-align: center;
  color: #64748b;
  padding: 8px;
}
.used-photo-item span {
  font-size: 12px;
  font-weight: 900;
  color: #111827;
}
.used-photo-item small {
  position: absolute;
  left: 7px;
  top: 7px;
  z-index: 2;
  min-height: 21px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0 7px;
  background: rgba(15,23,42,.82);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}
.used-photo-item em {
  position: absolute;
  left: 7px;
  right: 7px;
  bottom: 7px;
  z-index: 2;
  overflow: hidden;
  border-radius: 9px;
  padding: 4px 5px;
  background: rgba(255,255,255,.9);
  color: #475569;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.used-photo-item button {
  position: absolute;
  top: 7px;
  right: 7px;
  z-index: 3;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: rgba(15,23,42,.82);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
}
.used-photo-empty {
  grid-column: 1 / -1;
  min-height: 116px;
  border: 1px dashed #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  display: grid;
  place-items: center;
  gap: 6px;
  color: #64748b;
}
.used-photo-empty span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff7ed;
  color: #f97316;
  font-size: 22px;
  font-weight: 900;
}
.used-photo-empty small {
  font-size: 12px;
  font-weight: 800;
}
.my-used-section {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.my-used-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scrollbar-width: none;
  padding-bottom: 2px;
}
.my-used-tabs::-webkit-scrollbar { display: none; }
.my-used-tabs button {
  min-height: 36px;
  flex: 0 0 auto;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 900;
}
.my-used-tabs button.active {
  border-color: #111827;
  background: #111827;
  color: #fff;
}
.my-used-list {
  display: grid;
  gap: 12px;
}
.my-used-card {
  display: grid;
  gap: 10px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  padding: 12px;
}
.my-used-main {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: stretch;
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
}
.my-used-main .used-listing-thumb {
  min-height: 96px;
  border-radius: 14px;
}
.my-used-main .used-listing-thumb span {
  width: 48px;
  height: 48px;
  border-width: 6px;
  border-radius: 16px;
  font-size: 9px;
}
.my-used-main h3 {
  margin: 6px 0 3px;
  color: #111827;
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: -.03em;
}
.my-used-main p,
.my-used-main small {
  display: block;
  margin: 0;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
}
.my-used-main strong {
  display: block;
  margin: 5px 0;
  color: #f97316;
  font-size: 15px;
  font-weight: 950;
}
.my-used-actions {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  scrollbar-width: none;
}
.my-used-actions::-webkit-scrollbar { display: none; }
.my-used-actions button {
  flex: 0 0 auto;
  min-height: 34px;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  padding: 0 11px;
  font-size: 11px;
  font-weight: 900;
}
.my-used-actions button.danger,
.used-owner-actions button.danger {
  border-color: #fecaca;
  background: #fef2f2;
  color: #dc2626;
}
.my-used-empty {
  min-height: 156px;
  display: grid;
  place-items: center;
  gap: 12px;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  background: #fff;
  color: #64748b;
  text-align: center;
  padding: 24px;
}
.my-used-empty strong {
  color: #111827;
  font-size: 15px;
}
.confirm-modal {
  position: relative;
  z-index: 1;
  width: min(420px, calc(100% - 32px));
  margin: 14vh auto;
  border-radius: 22px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 24px 60px rgba(15,23,42,.18);
}
.confirm-modal p {
  margin: 6px 0 18px;
  color: #64748b;
  font-size: 14px;
  line-height: 1.55;
}
.confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

@media (max-width: 680px) {
  .my-used-main {
    grid-template-columns: 88px 1fr;
  }
  .my-used-main .used-listing-thumb {
    min-height: 88px;
  }
  .confirm-modal {
    margin: 20vh auto;
  }
}

.community-used-market[hidden] { display: none !important; }
.community-used-market { display: grid; gap: 16px; }
.community-used-safe { border: 1px solid #fed7aa; background: #fff7ed; border-radius: 16px; padding: 14px 16px; color: #374151; }
.community-used-safe strong { display: block; color: #111827; font-size: 14px; margin-bottom: 4px; }
.community-used-safe p { margin: 0; font-size: 12px; line-height: 1.55; }
.trade-market-tabs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px 0; }
.trade-market-tabs::-webkit-scrollbar { display: none; }
.trade-market-tabs button { flex: 0 0 auto; min-height: 38px; border: 1px solid #e5e7eb; border-radius: 999px; background: #fff; color: #475569; padding: 0 13px; font-size: 12px; font-weight: 900; }
.trade-market-tabs button.active { border-color: #111827; background: #111827; color: #fff; }
.used-market-toolbar { border: 1px solid #e5e7eb; background: #fff; border-radius: 18px; padding: 14px; display: grid; gap: 12px; }
.used-market-search { min-height: 46px; display: flex; align-items: center; gap: 8px; border: 1px solid #e5e7eb; background: #f8fafc; border-radius: 14px; padding: 0 12px; }
.used-market-search input { border: 0; outline: 0; background: transparent; width: 100%; font: inherit; color: #111827; }
.used-market-filter-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.used-market-filter-grid label { display: grid; gap: 5px; font-size: 11px; font-weight: 800; color: #64748b; }
.used-market-filter-grid select { width: 100%; min-height: 42px; border: 1px solid #e5e7eb; border-radius: 13px; background: #fff; padding: 0 10px; color: #111827; font-weight: 700; }
.used-market-filter-grid select:disabled { color: #94a3b8; background: #f8fafc; }
.used-selling-only { display: flex; align-items: center; gap: 8px; min-height: 38px; font-size: 13px; font-weight: 800; color: #334155; }
.used-market-count { color: #64748b; font-size: 13px; font-weight: 800; }
.used-market-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.used-listing-card { overflow: hidden; border: 1px solid #e5e7eb; background: #fff; border-radius: 16px; cursor: pointer; }
.used-listing-card.trade-card-equipment_bundle .used-listing-thumb { background: radial-gradient(circle at 70% 20%, rgba(20, 33, 58, .12), transparent 30%), linear-gradient(145deg, #fff7ed, #f8fafc); }
.used-listing-card.trade-card-gym_transfer .used-listing-thumb { min-height: 158px; background: radial-gradient(circle at 20% 20%, rgba(249,115,22,.16), transparent 28%), linear-gradient(145deg, #f8fafc, #e0f2fe); }
.used-listing-thumb, .used-detail-thumb { min-height: 132px; background: radial-gradient(circle at 70% 20%, rgba(249, 115, 22, .14), transparent 28%), linear-gradient(145deg, #f8fafc, #eef2f7); display: grid; place-items: center; text-align: center; color: #0f172a; position: relative; }
.used-listing-thumb span, .used-detail-thumb span { width: 68px; height: 68px; border: 8px solid #cbd5e1; border-top-color: #f97316; border-radius: 22px; display: grid; place-items: center; font-size: 11px; font-weight: 900; background: rgba(255,255,255,.72); }
.used-listing-thumb small, .used-detail-thumb small { position: absolute; bottom: 10px; right: 10px; font-size: 10px; font-weight: 900; color: #94a3b8; }
.used-listing-card-body { padding: 11px; display: grid; gap: 5px; }
.used-listing-card-top, .used-detail-head > div { display: flex; gap: 6px; flex-wrap: wrap; }
.used-listing-card strong { color: #111827; font-size: 14px; line-height: 1.32; min-height: 36px; }
.used-listing-card p, .used-listing-card small, .used-listing-card em { margin: 0; color: #64748b; font-size: 11px; line-height: 1.35; font-style: normal; }
.used-listing-card b { color: #111827; font-size: 15px; }
.used-status-badge, .used-source-badge { display: inline-flex; align-items: center; min-height: 22px; border-radius: 999px; padding: 0 8px; font-size: 10px; font-weight: 900; }
.used-status-badge.selling { color: #047857; background: #ecfdf5; }
.used-status-badge.reserved { color: #c2410c; background: #ffedd5; }
.used-status-badge.completed, .used-status-badge.hidden { color: #64748b; background: #f1f5f9; }
.used-source-badge { color: #475569; background: #f8fafc; border: 1px solid #e5e7eb; }
.used-empty-state { grid-column: 1 / -1; border: 1px dashed #cbd5e1; border-radius: 16px; background: #fff; padding: 28px 18px; text-align: center; color: #64748b; }
.used-empty-state strong { display: block; color: #111827; margin-bottom: 4px; }
.community-write-fab.used-mode { background: #111827; box-shadow: 0 16px 30px rgba(15, 23, 42, .22); }
.used-detail-content, .used-create-content { padding-top: 20px; padding-bottom: 104px; }
.used-back-button { min-height: 44px; border: 0; background: transparent; color: #0f172a; font-weight: 900; padding: 0 0 12px; }
.used-detail-card, .used-create-shell { display: grid; gap: 16px; }
.used-detail-card { border: 1px solid #e5e7eb; border-radius: 20px; background: #fff; padding: 16px; }
.used-detail-gallery { display: grid; gap: 10px; }
.used-detail-thumb { min-height: 260px; border-radius: 18px; }
.used-detail-thumbs { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.used-detail-thumbs::-webkit-scrollbar { display: none; }
.used-detail-thumbs span { min-width: 56px; min-height: 40px; display: grid; place-items: center; border-radius: 12px; background: #f8fafc; border: 1px solid #e5e7eb; color: #64748b; font-size: 11px; font-weight: 900; }
.used-detail-head { display: grid; gap: 8px; }
.used-detail-head h2 { margin: 0; color: #0f172a; font-size: 23px; line-height: 1.25; letter-spacing: -0.04em; }
.used-detail-head strong { font-size: 22px; color: #f97316; }
.used-detail-head p { margin: 0; color: #475569; font-weight: 800; }
.used-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.used-detail-grid div, .used-detail-section, .used-detail-author, .used-quote-bridge { border: 1px solid #e5e7eb; border-radius: 16px; background: #f8fafc; padding: 13px; }
.used-detail-grid small, .used-detail-author small { display: block; color: #64748b; font-size: 11px; font-weight: 800; }
.used-detail-grid b { color: #111827; font-size: 13px; }
.used-detail-section h3 { margin: 0 0 8px; color: #111827; font-size: 15px; }
.used-detail-section h3 .used-source-badge { margin-left: 6px; vertical-align: middle; }
.used-detail-section p { margin: 4px 0 0; color: #475569; font-size: 13px; line-height: 1.55; }
.used-warning-copy { display: block; margin-top: 8px; color: #9a3412; font-size: 12px; font-weight: 800; line-height: 1.5; }
.used-safety-note { background: #fff7ed; border-color: #fed7aa; }
.trade-bundle-item-list { display: grid; gap: 8px; }
.trade-bundle-item-list div { border: 1px solid #e5e7eb; border-radius: 14px; background: #fff; padding: 11px; display: grid; gap: 4px; }
.trade-bundle-item-list strong { color: #111827; font-size: 13px; }
.trade-bundle-item-list small, .trade-bundle-item-list em { color: #64748b; font-size: 12px; font-style: normal; }
.used-detail-author { display: flex; align-items: center; gap: 12px; background: #fff; }
.used-detail-author > span { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #111827; color: #fff; font-weight: 900; }
.used-quote-bridge { background: #fff7ed; border-color: #fed7aa; display: grid; gap: 10px; }
.used-quote-bridge p { margin: 0; color: #9a3412; font-weight: 900; }
.used-detail-actions, .used-owner-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.used-owner-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.used-owner-actions button { min-height: 42px; border: 1px solid #e5e7eb; background: #fff; border-radius: 13px; font-weight: 900; color: #334155; }
.used-create-progress { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.used-create-progress span { min-height: 30px; border-radius: 999px; background: #e2e8f0; color: #64748b; display: grid; place-items: center; font-size: 12px; font-weight: 900; }
.used-create-progress span.active { background: #f97316; color: #fff; }
.used-create-form-card { border: 1px solid #e5e7eb; border-radius: 20px; background: #fff; padding: 16px; display: grid; gap: 14px; }
.used-create-form-card h2 { margin: 0; font-size: 19px; color: #0f172a; letter-spacing: -0.03em; }
.used-create-form-card p { margin: 0; color: #64748b; font-size: 13px; line-height: 1.55; }
.trade-type-choice-grid { display: grid; gap: 10px; }
.trade-type-choice-grid button { min-height: 86px; border: 1px solid #e5e7eb; border-radius: 18px; background: #fff; text-align: left; padding: 14px; display: grid; gap: 6px; }
.trade-type-choice-grid button strong { color: #111827; font-size: 16px; }
.trade-type-choice-grid button span { color: #64748b; font-size: 12px; line-height: 1.45; }
.trade-type-choice-grid button.selected { border-color: #f97316; background: #fff7ed; box-shadow: inset 0 0 0 1px rgba(249,115,22,.18); }
.bundle-item-list { display: grid; gap: 10px; }
.bundle-item-editor { border: 1px solid #e5e7eb; border-radius: 16px; background: #f8fafc; padding: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bundle-item-editor > strong { grid-column: 1 / -1; color: #111827; font-size: 14px; }
.bundle-item-editor label { display: grid; gap: 5px; color: #475569; font-size: 11px; font-weight: 900; }
.bundle-item-editor input, .bundle-item-editor select { width: 100%; min-height: 40px; border: 1px solid #e5e7eb; border-radius: 12px; padding: 0 10px; background: #fff; font-weight: 800; }
.used-photo-upload { min-height: 56px; border-radius: 16px; border: 1px dashed #f97316; background: #fff7ed; color: #c2410c; display: grid; place-items: center; font-weight: 900; }
.used-photo-upload input { display: none; }
.used-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.used-photo-grid div { aspect-ratio: 1; border-radius: 14px; background: #f8fafc; border: 1px solid #e5e7eb; display: grid; place-items: center; text-align: center; color: #64748b; padding: 8px; }
.used-photo-grid span { font-size: 11px; font-weight: 900; color: #111827; }
.used-photo-grid small { font-size: 10px; word-break: break-all; }
.used-create-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.used-create-field-grid label { display: grid; gap: 6px; font-size: 12px; font-weight: 900; color: #475569; }
.used-create-field-grid .span-2 { grid-column: 1 / -1; }
.used-create-field-grid input, .used-create-field-grid select, .used-create-field-grid textarea { width: 100%; border: 1px solid #e5e7eb; border-radius: 13px; background: #fff; color: #111827; padding: 11px 12px; font: inherit; font-weight: 700; }
.used-create-field-grid textarea { resize: vertical; line-height: 1.5; }
.used-create-field-grid select:disabled, .used-create-field-grid input:disabled { color: #94a3b8; background: #f8fafc; }
.used-create-field-grid .used-check { min-height: 46px; display: flex; align-items: center; gap: 8px; border: 1px solid #e5e7eb; border-radius: 13px; padding: 0 12px; background: #f8fafc; }
.used-summary-card { display: grid; grid-template-columns: 112px 1fr; gap: 12px; align-items: center; }
.used-summary-card .used-detail-thumb { min-height: 112px; }
.used-summary-card span, .used-summary-card small { color: #64748b; font-size: 12px; font-weight: 800; }
.used-summary-card strong { display: block; color: #111827; font-size: 17px; margin: 4px 0; }
.used-summary-card p { color: #475569; }
.used-summary-card b { color: #f97316; }
.used-confirm-copy { border-radius: 16px; background: #f8fafc; padding: 12px; }
.used-create-actions { position: sticky; bottom: 78px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: rgba(248,250,252,.92); backdrop-filter: blur(10px); padding: 10px 0; }
.used-create-actions #used-create-submit { grid-column: 2; }

/* Used-equipment quality: scoped to individual equipment, not bundle/transfer forms. */
.used-equipment-form #used-create-body { scroll-margin-top: 82px; }
.used-required-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0 24px; }
.used-required-photo { min-width: 0; padding: 12px; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; display: grid; gap: 10px; align-content: start; }
.used-required-photo-heading { display: grid; gap: 3px; }
.used-required-photo-heading strong { font-size: 14px; color: #172133; }
.used-required-photo-heading small { font-size: 11px; color: #64748b; }
.used-required-photo > img, .used-required-photo-empty { width: 100%; aspect-ratio: 4/3; height: auto; object-fit: contain; border-radius: 10px; background: #f8fafc; }
.used-required-photo-empty { display: grid; place-items: center; color: #94a3b8; font-size: 28px; }
.used-equipment-form .used-photo-upload { position: relative; min-width: 0; min-height: 44px; padding: 8px; cursor: pointer; font-size: 13px; font-weight: 700; border-radius: 12px; }
.used-equipment-form .used-photo-upload input { display: block; position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.used-equipment-form .used-photo-upload:focus-within { outline: 2px solid #f97316; outline-offset: 3px; }
.used-photo-delete { min-height: 36px; border: 1px solid #e2e8f0; background: #fff; color: #64748b; border-radius: 10px; }
.used-required-photo.missing { border-color: #f97316; background: #fffaf5; }
.used-required-photo .used-photo-error { color: #c2410c; font-size: 12px; margin: 0; overflow-wrap: anywhere; }
.used-extra-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.used-label-hint { margin-top: 16px; padding: 14px; border: 1px solid #fed7aa; background: #fffaf5; border-radius: 14px; }
.used-label-hint p { line-height: 1.65; font-size: 13px; color: #475569; }
.used-label-hint small { display: block; margin-top: 8px; font-size: 11px; color: #64748b; }
.used-condition-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 4px 0; border: 0; padding: 0; min-width: 0; }
.used-condition-checks legend { margin-bottom: 10px; font-size: 13px; font-weight: 700; }
.used-condition-checks legend small { color: #64748b; font-size: 11px; }
.used-equipment-form .used-create-field-grid input:not([type=checkbox]), .used-equipment-form .used-create-field-grid select, .used-equipment-form .used-create-field-grid textarea { min-width: 0; max-width: 100%; min-height: 48px; font-size: 16px; scroll-margin: 96px 0 180px; }
.used-equipment-form .used-create-field-grid .used-check { padding: 9px; font-weight: 500; line-height: 1.5; }
.used-equipment-form .used-check input { flex: 0 0 18px; width: 18px; height: 18px; }
.used-equipment-form .used-create-field-grid > label { min-width: 0; }
.used-confirm-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.used-confirm-photos figure { margin: 0; min-width: 0; }
.used-confirm-photos img { width: 100%; aspect-ratio: 4/3; object-fit: contain; border-radius: 12px; background: #f8fafc; }
.used-confirm-photos figcaption { padding: 6px 0; font-size: 12px; color: #64748b; }
.used-equipment-info { margin-top: 18px; }
.used-equipment-info > div { min-width: 0; overflow-wrap: anywhere; }
.used-confirm-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.used-detail-thumbs.used-equipment-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; overflow: visible; }
.used-equipment-gallery button { min-width: 0; min-height: 44px; padding: 6px; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; }
.used-equipment-gallery button.active { border-color: #f97316; background: #fff7ed; }
.used-equipment-gallery button img { width: 100%; height: 64px; object-fit: contain; border-radius: 8px; }
.used-detail-thumbs.used-equipment-gallery span { min-width: 0; min-height: 30px; border: 0; background: transparent; white-space: normal; }
@media (max-width: 600px) {
  .used-equipment-form .used-create-field-grid { grid-template-columns: minmax(0, 1fr); }
  .used-equipment-form .used-create-actions { bottom: calc(78px + env(safe-area-inset-bottom)); }
}

@media (min-width: 768px) {
  .used-market-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
  .bundle-item-editor { grid-template-columns: 1fr; }
  .trade-type-choice-grid button { min-height: 78px; }
  .used-detail-grid { grid-template-columns: 1fr; }
}

.svg-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.ui-icon {
  width: 1.25em;
  height: 1.25em;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.quote-cart-fab {
  position: fixed;
  right: 22px;
  bottom: 86px;
  z-index: 47;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #14213a;
  box-shadow: 0 14px 30px rgba(20,33,58,.22);
}
.quote-cart-fab > span { display:grid; place-items:center; font-size: 23px; }
.quote-cart-fab b {
  position: absolute;
  right: -3px;
  top: -3px;
  min-width: 24px;
  height: 24px;
  display: none;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  color: #fff;
  background: #f97316;
  border: 3px solid #fff;
  font-size: 10px;
  white-space: nowrap;
}
.quote-cart-layer { position: fixed; inset: 0; z-index: 110; display: none; }
.quote-cart-layer.open { display: block; }
.quote-cart-backdrop { position: absolute; inset: 0; background: rgba(15,23,42,.46); backdrop-filter: blur(3px); }
.quote-cart-drawer {
  position: absolute;
  inset-block: 0;
  right: 0;
  width: min(400px,100%);
  display: flex;
  flex-direction: column;
  background: #fff;
  color: #14213a;
  box-shadow: -22px 0 46px rgba(15,23,42,.18);
  animation: slideIn .25s ease;
}
.quote-cart-drawer header {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  border-bottom: 1px solid #eceff2;
}
.quote-cart-drawer header span { color:#f97316; font:800 9px 'IBM Plex Mono'; letter-spacing:.14em; }
.quote-cart-drawer header h2 { margin:4px 0 0; font-size:20px; }
.quote-cart-body { flex:1; overflow:auto; padding:16px; }
.quote-cart-item { display:flex; gap:12px; padding:12px; border:1px solid #e4e8ed; border-radius:16px; background:#fff; box-shadow:0 4px 14px rgba(20,33,58,.035); }
.quote-cart-item + .quote-cart-item { margin-top:10px; }
.cart-thumb { width:72px; height:72px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; color:#fff; background:linear-gradient(135deg,#14213a,#475569); font-weight:900; }
.cart-copy { min-width:0; flex:1; }
.cart-copy small { color:#f97316; font-weight:800; font-size:10px; }
.cart-copy strong { display:block; margin-top:3px; overflow:hidden; color:#1d2a3f; font-size:13px; white-space:nowrap; text-overflow:ellipsis; }
.cart-copy em { display:block; margin-top:3px; color:#87919e; font-size:10px; font-style:normal; }
.cart-price { display:inline-flex; margin-top:6px; border-radius:999px; background:#f6f7f8; padding:4px 7px; color:#4d5968; font-size:10px; font-weight:800; }
.cart-controls { display:flex; align-items:center; gap:0; margin-top:10px; }
.cart-controls button,.cart-controls output { width:34px; height:34px; display:grid; place-items:center; border:1px solid #dfe4ea; background:#fff; color:#14213a; font-weight:800; }
.cart-controls button:first-child { border-radius:10px 0 0 10px; }
.cart-controls button:nth-child(3) { border-radius:0 10px 10px 0; }
.cart-controls .cart-remove { margin-left:auto; border:0; border-radius:50%; color:#a3aab3; background:#f5f6f8; font-size:18px; }
.cart-empty { min-height:360px; display:grid; place-items:center; align-content:center; gap:14px; text-align:center; color:#8b95a1; }
.cart-empty > span { width:74px; height:74px; display:grid; place-items:center; border-radius:50%; color:#c5cbd3; background:#f2f4f6; font-size:28px; }
.cart-empty .ui-icon { width:32px; height:32px; }
.cart-empty p { margin:0; font-size:13px; line-height:1.7; }
.quote-cart-drawer footer { padding:16px; border-top:1px solid #eceff2; background:#fff; }
.quote-cart-drawer footer p { margin:10px 0 0; text-align:center; color:#97a1ad; font-size:10px; }
.quote-cart-drawer footer button:disabled { background:#d8dde3; box-shadow:none; cursor:not-allowed; }
.quote-cart-summary { margin-top:14px; display:grid; gap:8px; border-radius:16px; background:#f7f8fa; padding:14px; }
.quote-cart-summary div { display:flex; justify-content:space-between; gap:12px; font-size:12px; }
.quote-cart-summary span { color:#7d8794; font-weight:700; }
.quote-cart-summary strong { color:#14213a; text-align:right; }

.checkout-shell { max-width: 720px; padding: 24px 16px 95px; min-width: 0; }
.checkout-summary-card,.checkout-form-card,.community-card {
  border: 1px solid #e1e6eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(20,33,58,.04);
}
.checkout-summary-card { margin-bottom:14px; padding:18px; background:#f1f3f5; }
.checkout-summary-card span { color:#7e8793; font-size:10px; font-weight:800; }
.checkout-summary-card strong { display:block; margin-top:6px; color:#14213a; font-size:17px; }
.checkout-summary-card p { margin:5px 0 0; color:#687588; font-size:12px; }
.checkout-summary-card small { display:block; margin-top:8px; color:#f97316; font-size:11px; font-weight:800; }
.checkout-form,#checkout-form-fields,.checkout-review { display:grid; gap:14px; min-width:0; }
.checkout-page [hidden] { display:none!important; }
.checkout-form-card fieldset { min-width:0; margin:0; padding:0; border:0; }
.checkout-form-card { padding:20px; }
.checkout-form-card h2 { margin:0 0 18px; color:#14213a; font-size:17px; }
.checkout-form-card label,.checkout-form-card legend { display:block; margin:16px 0 8px; color:#263349; font-size:12px; font-weight:800; }
.checkout-form-card label span { color:#f97316; }
.checkout-form-card input,.checkout-form-card select,.checkout-form-card textarea {
  width:100%;
  min-width:0;
  min-height:52px;
  border:1px solid #dfe5eb;
  border-radius:13px;
  padding:0 14px;
  color:#14213a;
  background:#fff;
  font-size:16px;
  outline:none;
  scroll-margin-block:90px 180px;
}
.checkout-form-card textarea { min-height:118px; padding-top:13px; resize:vertical; }
.checkout-form-card input:focus,.checkout-form-card select:focus,.checkout-form-card textarea:focus {
  border-color:#f97316;
  box-shadow:0 0 0 4px rgba(249,115,22,.1);
}
.checkout-choice-group { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.checkout-install-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.checkout-choice-group button,.checkout-install-grid button {
  min-width:0;
  min-height:52px;
  padding:10px 8px;
  border:1px solid #dfe5eb;
  border-radius:14px;
  color:#596575;
  background:#fff;
  font-weight:800;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.checkout-choice-group button.selected,.checkout-install-grid button.selected { border-color:#f97316; color:#f97316; background:#fff6f1; }
.purpose-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.budget-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.privacy-banner { margin-top:16px; padding:13px 14px; border:1px solid #fed7aa; border-radius:14px; color:#9a4b0f; background:#fff7ed; font-size:12px; font-weight:700; line-height:1.6; }
.checkout-sticky-cta { position:sticky; bottom:0; z-index:40; margin:0; padding:12px 0 max(12px,env(safe-area-inset-bottom)); background:linear-gradient(to top,#f8fafc 80%,rgba(248,250,252,0)); }
.checkout-back-button { margin-bottom:14px; }
.checkout-page .button-secondary { border:1px solid #dfe5eb; color:#344054; background:#fff; }
.checkout-page .button { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.checkout-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.checkout-form-card label small { color:#7e8793; font-size:11px; font-weight:500; }
.checkout-form-card label > input,.checkout-form-card label > select,.checkout-form-card label > textarea { display:block; margin-top:8px; }
.checkout-form-card .checkout-consent { display:flex; align-items:flex-start; gap:10px; margin:18px 0 0; line-height:1.7; font-weight:500; cursor:pointer; }
.checkout-form-card .checkout-consent input { flex:0 0 20px; width:20px; min-height:20px; height:20px; margin:2px 0 0; padding:0; accent-color:#f97316; }
.checkout-form-card .checkout-consent span { min-width:0; color:#475569; overflow-wrap:anywhere; }
.checkout-consent strong { color:#f97316; }
.checkout-helper { margin:0 0 16px; color:#64748b; font-size:12px; line-height:1.7; }
.checkout-item-list { display:grid; gap:10px; padding:0; margin:16px 0; list-style:none; min-width:0; }
.checkout-item { min-width:0; padding:14px; border:1px solid #e2e8f0; border-radius:13px; background:#fff; overflow-wrap:anywhere; }
.checkout-item-heading { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; min-width:0; color:#14213a; font-size:13px; line-height:1.6; }
.checkout-item-heading > * { min-width:0; max-width:100%; }
.checkout-item-heading strong { margin:0; font-size:13px; line-height:1.6; }
.checkout-item p { margin:6px 0 0; color:#64748b; font-size:12px; line-height:1.7; }
.checkout-item img { width:64px; height:64px; max-width:100%; border-radius:10px; object-fit:contain; }
.checkout-option-summary { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; color:#64748b; font-size:11px; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
.checkout-option-summary span { max-width:100%; padding:3px 7px; border-radius:8px; background:#f1f5f9; color:#64748b; font-size:11px; font-weight:500; }
.checkout-request-meta { display:grid; grid-template-columns:minmax(80px,.8fr) minmax(0,1.6fr); gap:10px 12px; margin:16px 0; font-size:12px; line-height:1.7; }
.checkout-request-meta dt { margin:0; color:#64748b; }
.checkout-request-meta dd { margin:0; min-width:0; color:#14213a; font-weight:700; white-space:pre-wrap; overflow-wrap:anywhere; }
.checkout-request-meta > div { display:contents; }
.checkout-total { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin-top:14px; padding-top:14px; border-top:1px solid #e2e8f0; color:#64748b; font-size:12px; line-height:1.7; }
.checkout-total strong { margin:0; color:#f97316; font-size:16px; overflow-wrap:anywhere; }
.checkout-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.checkout-actions .button { flex:1 1 120px; min-height:48px; padding:10px 14px; font-size:13px; }
.checkout-success-icon { display:grid; place-items:center; width:56px; height:56px; margin:0 auto 20px; border-radius:50%; color:#f97316; background:#fff7ed; font-size:26px; font-weight:800; }
.checkout-success-icon .ui-icon { width:28px; height:28px; }
.checkout-inline-error { margin:0 0 14px; padding:12px 14px; border:1px solid #fecaca; border-radius:12px; color:#b91c1c; background:#fef2f2; font-size:13px; line-height:1.7; overflow-wrap:anywhere; scroll-margin-top:90px; }
.checkout-review h2 { scroll-margin-top:90px; }
.community-card { padding:28px 22px; text-align:center; }
.community-card span { color:#f97316; font-size:10px; font-weight:900; }
.community-card h2 { margin:8px auto; max-width:520px; color:#14213a; font-size:24px; letter-spacing:-.04em; }
.community-card p { margin:0 auto 20px; max-width:480px; color:#718093; font-size:13px; line-height:1.7; }
.community-category-sticky { position:sticky; top:76px; z-index:35; background:rgba(247,247,245,.96); border-bottom:1px solid #e5e8ec; backdrop-filter:blur(14px); }
.community-category-tabs { display:flex; gap:8px; overflow-x:auto; padding:12px 0; scrollbar-width:none; }
.community-category-tabs::-webkit-scrollbar { display:none; }
.community-category-tabs button { flex:0 0 auto; min-height:38px; border-radius:999px; padding:0 14px; background:#eef1f4; color:#344054; font-size:12px; font-weight:800; white-space:nowrap; }
.community-category-tabs button.active { background:#14213a; color:#fff; }
.community-content { padding-top:18px; }
.community-feed { max-width:720px; margin:0 auto; }
.community-feed-card { margin-bottom:12px; padding:18px; overflow:hidden; border:1px solid #e6e9ed; border-bottom:8px solid #f3f4f6; border-radius:18px; background:#fff; box-shadow:0 5px 18px rgba(20,33,58,.035); }
.community-feed-head { display:flex; align-items:center; gap:10px; }
.community-avatar { width:42px; height:42px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; background:#14213a; color:#fff; font-weight:900; }
.community-author { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.community-author strong { color:#14213a; font-size:13px; }
.community-author small { color:#98a2b3; font-size:11px; font-weight:700; }
.verified-badge { display:inline-flex; align-items:center; gap:3px; border-radius:999px; background:#e9f8ef; color:#23945f; padding:3px 7px; font-size:10px; font-weight:900; }
.community-category-badge { display:inline-flex; margin-top:14px; border-radius:999px; background:#fff7ed; color:#f97316; padding:5px 9px; font-size:11px; font-weight:900; }
.community-feed-card h2 { margin:10px 0 6px; color:#14213a; font-size:18px; letter-spacing:-.035em; }
.community-excerpt { margin:0; color:#667085; font-size:13px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.community-image-placeholder { margin-top:14px; min-height:190px; display:flex; flex-direction:column; justify-content:flex-end; gap:4px; padding:18px; border-radius:16px; color:#fff; background:linear-gradient(135deg,rgba(20,33,58,.92),rgba(249,115,22,.7)), repeating-linear-gradient(45deg,#d9dee4 0 12px,#c9d0d8 12px 24px); }
.community-image-placeholder span { width:max-content; border-radius:999px; background:rgba(255,255,255,.16); padding:5px 9px; font-size:10px; font-weight:900; }
.community-image-placeholder strong { font-size:22px; letter-spacing:-.04em; }
.community-image-placeholder small { color:rgba(255,255,255,.72); font-size:11px; }
.community-trade-box { margin-top:12px; padding:12px; border:1px solid #e2e8f0; border-radius:14px; background:#f8fafc; }
.community-trade-box strong { display:block; color:#14213a; font-size:13px; line-height:1.5; }
.community-trade-box strong span { color:#f97316; font-weight:900; }
.community-trade-box small { display:block; margin-top:3px; color:#7d8998; font-size:11px; font-weight:700; }
.community-toolbar { display:flex; align-items:center; gap:14px; margin-top:14px; padding-top:12px; border-top:1px solid #edf0f3; color:#98a2b3; font-size:12px; font-weight:800; }
.community-toolbar button { margin-left:auto; background:transparent; color:#98a2b3; font-size:12px; font-weight:900; }
.community-write-fab { position:fixed; right:24px; bottom:96px; z-index:49; width:58px; height:58px; display:grid; place-items:center; border-radius:50%; background:#f97316; color:#fff; box-shadow:0 14px 30px rgba(249,115,22,.28); }
.community-write-fab .ui-icon { width:25px; height:25px; stroke-width:2.4; }
.dynamic-request-card { margin-bottom:14px; border-color:#fed7aa; }
.customer-request-items { display:flex; flex-wrap:wrap; gap:6px; padding:14px 18px; border-top:1px solid #eceff2; }
.customer-request-items span { border-radius:999px; background:#fff7ed; padding:5px 8px; color:#9a4b0f; font-size:10px; font-weight:800; }

@media (max-width: 680px) {
  .mobile-bottom-nav { grid-template-columns: repeat(4,1fr)!important; max-width:430px; margin:0 auto; left:0; right:0; }
  .mobile-bottom-nav button.active { color:#f97316!important; }
  .quote-cart-fab { right:18px; bottom:82px; width:56px; height:56px; }
  .community-category-sticky { top:60px; }
  .community-category-tabs { padding:10px 0; }
  .community-category-tabs button { min-height:36px; font-size:11px; padding:0 12px; }
  .community-content { padding:14px 10px 92px; }
  .community-feed-card { margin-bottom:10px; padding:16px 14px; border-radius:16px; }
  .community-feed-card h2 { font-size:16px; }
  .community-image-placeholder { min-height:160px; border-radius:14px; }
  .community-toolbar { gap:10px; font-size:11px; }
  .community-write-fab { right:24px; bottom:96px; width:56px; height:56px; }
  .checkout-sticky-cta { bottom:calc(78px + env(safe-area-inset-bottom)); margin-bottom:0; padding-bottom:12px; }
  .checkout-page .checkout-shell { width:100%; padding:20px 16px calc(110px + env(safe-area-inset-bottom)); }
  .checkout-page .checkout-form-card { padding:18px 16px; }
  .checkout-install-grid { grid-template-columns:1fr; }
  .purpose-grid,.budget-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .checkout-choice-group { gap:6px; }
  .checkout-choice-group button { font-size:11px; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: 'Noto Sans KR', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { border: 0; cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(255, 92, 40, .35); outline-offset: 2px; }
button:disabled { opacity: .45; cursor: not-allowed; }
h1, h2, h3, p { margin-top: 0; }
.container { width: min(calc(100% - 40px), var(--container)); margin: 0 auto; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 999; background: var(--white); padding: 10px 16px; color: var(--ink); }
.skip-link:focus { top: 12px; }
.page { display: none; }
.page.active { display: block; animation: pageIn .35s ease; }
@keyframes pageIn { from { opacity: 0; transform: translateY(5px); } }
.section { padding: 110px 0; }
.section-kicker, .eyebrow, .visual-topline, .form-heading > span { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .16em; font-weight: 600; }

.site-header { height: 76px; position: sticky; top: 0; z-index: 50; background: rgba(245,245,241,.92); border-bottom: 1px solid rgba(17,24,32,.1); backdrop-filter: blur(15px); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); background: transparent; font-size: 21px; font-weight: 900; letter-spacing: -.05em; padding: 0; }
.brand small { font: 600 8px 'IBM Plex Mono'; letter-spacing: .12em; color: var(--muted); margin-left: -4px; align-self: flex-end; margin-bottom: 5px; }
.brand-mark { display: inline-flex; align-items: flex-end; gap: 2px; width: 28px; height: 25px; transform: skew(-12deg); }
.brand-mark i { display: block; width: 7px; background: var(--orange); }
.brand-mark i:nth-child(1) { height: 13px; }.brand-mark i:nth-child(2) { height: 23px; }.brand-mark i:nth-child(3) { height: 17px; }
.desktop-nav { display: flex; gap: 34px; margin-left: 60px; }
.desktop-nav button, .text-button { padding: 8px; background: transparent; color: #39424b; font-weight: 600; font-size: 14px; }
.desktop-nav button:hover, .text-button:hover { color: var(--orange); }
.header-actions { display: flex; align-items: center; gap: 12px; }
.role-switch { padding: 3px; display: flex; background: #e5e6e2; border-radius: 6px; }
.role-switch button { background: transparent; padding: 6px 10px; font-size: 11px; color: #6c747b; border-radius: 4px; }
.role-switch button.active { color: var(--ink); background: white; box-shadow: 0 1px 5px rgba(0,0,0,.08); font-weight: 700; }
.button { min-height: 44px; padding: 0 20px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; font-weight: 700; transition: .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--ink); color: white; }.button-primary:hover { background: #283541; }
.button-accent { background: var(--orange); color: white; }.button-accent:hover { background: var(--orange-2); }
.button-ghost { border: 1px solid var(--line); background: white; color: var(--ink); }
.button-ghost-dark { border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.04); color: white; }
.button-small { min-height: 38px; padding: 0 16px; font-size: 13px; }
.button-large { min-height: 54px; padding: 0 25px; }
.button-block { width: 100%; }
.mobile-menu-button, .mobile-nav { display: none; }
.mobile-quick-search, .mobile-benchmark-home, .mobile-bottom-nav { display: none; }

.hero-shell { min-height: 690px; background: var(--ink); color: white; position: relative; overflow: hidden; }
.hero-grid { position: absolute; inset: 0; opacity: .1; background-image: linear-gradient(rgba(255,255,255,.15) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.15) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, black, transparent 85%); }
.hero-shell::after { content: ''; position: absolute; width: 400px; height: 400px; background: var(--orange); filter: blur(170px); opacity: .12; right: 12%; bottom: -30%; }
.hero-layout { min-height: 690px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 70px; position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: #aeb6bc; margin-bottom: 22px; }
.eyebrow span { width: 20px; height: 2px; background: var(--orange); }
.hero-copy h1 { font-size: clamp(48px, 5.2vw, 78px); line-height: 1.08; letter-spacing: -.065em; margin-bottom: 24px; font-weight: 800; }
.hero-copy h1 em { font-style: normal; color: var(--orange); }
.hero-copy > p { font-size: 17px; line-height: 1.8; color: #b9c0c5; }
.hero-actions { display: flex; gap: 10px; margin: 32px 0 36px; }
.hero-proof { display: flex; align-items: center; gap: 14px; }
.avatar-stack { display: flex; }
.avatar-stack span { width: 34px; height: 34px; border-radius: 50%; background: #d9ddd8; color: var(--ink); display: grid; place-items: center; border: 2px solid var(--ink); font: 700 9px 'IBM Plex Mono'; margin-left: -7px; }.avatar-stack span:first-child { margin: 0; background: var(--orange); color: white; }
.hero-proof p { margin: 0; font-size: 11px; line-height: 1.5; color: #8f999f; }.hero-proof strong { color: #eef1ef; }.hero-proof small { opacity: .65; }
.hero-visual { position: relative; padding: 38px 18px 25px; }
.visual-topline { border-bottom: 1px solid rgba(255,255,255,.16); padding: 0 8px 12px; display: flex; justify-content: space-between; color: #76828a; font-size: 8px; }
.quote-board { margin-top: 12px; background: #f8f8f4; color: var(--ink); box-shadow: var(--shadow); }
.board-head { padding: 26px 28px 20px; display: flex; align-items: flex-start; justify-content: space-between; }
.board-head small { font-size: 11px; color: var(--green); font-weight: 700; }.status-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #4dc78f; box-shadow: 0 0 0 4px rgba(77,199,143,.14); margin-right: 7px; }
.board-head h2 { margin: 12px 0 0; font-size: 25px; letter-spacing: -.04em; line-height: 1.35; }
.board-id { font: 600 9px 'IBM Plex Mono'; color: #9aa1a6; }
.board-meta { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.board-meta div { padding: 14px 28px; }.board-meta div + div { border-left: 1px solid var(--line); }.board-meta small, .mini-quotes small { display: block; color: #858d93; font-size: 10px; margin-bottom: 5px; }.board-meta strong { font-size: 13px; }
.mini-quotes { padding: 14px 18px; }
.mini-quotes article { display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid transparent; }.mini-quotes article.best { border-color: var(--orange); background: #fff8f5; position: relative; }.mini-quotes article.best::after { content: '추천'; position: absolute; right: 8px; top: -8px; color: white; background: var(--orange); padding: 2px 6px; font-size: 8px; }
.company-logo { width: 34px; height: 34px; border-radius: 5px; display: grid; place-items: center; color: white; font-weight: 900; }.company-logo.navy { background: #1c3348; }.company-logo.orange { background: var(--orange); }.company-logo.green { background: var(--green); }
.mini-quotes strong { font-size: 12px; }.mini-quotes small { margin: 2px 0 0; }.mini-quotes b { font-size: 13px; }
.board-footer { padding: 16px 28px; background: #e9eae6; display: flex; align-items: center; justify-content: space-between; font-size: 11px; }.board-footer button { background: transparent; font-weight: 800; }
.floating-badge { position: absolute; background: var(--ink-2); color: white; box-shadow: 0 10px 35px rgba(0,0,0,.28); display: flex; align-items: center; }.badge-one { left: -22px; bottom: 65px; padding: 13px 16px; gap: 10px; }.badge-one b { color: var(--orange); font-size: 20px; }.badge-one span { font-size: 9px; line-height: 1.4; color: #b8c0c5; }.badge-two { right: -18px; top: 85px; padding: 10px 14px; flex-direction: column; align-items: flex-start; }.badge-two span { font: 600 7px 'IBM Plex Mono'; color: var(--green); letter-spacing: .12em; }.badge-two b { font-size: 10px; }

.trust-strip { background: #ebece8; border-bottom: 1px solid #dbdeda; }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-grid > div { min-height: 104px; display: flex; align-items: center; justify-content: center; gap: 14px; border-right: 1px solid #d5d8d4; }.trust-grid > div:first-child { border-left: 1px solid #d5d8d4; }
.trust-grid strong { font-size: 29px; letter-spacing: -.04em; }.trust-grid small { color: var(--orange); font-size: 12px; margin-left: 2px; }.trust-grid span { max-width: 66px; font-size: 10px; color: #707980; line-height: 1.45; }
.section-heading { margin-bottom: 42px; }.section-heading h2 { margin: 8px 0 0; font-size: 34px; letter-spacing: -.05em; }.section-kicker { color: var(--orange); }.split-heading { display: flex; align-items: flex-end; justify-content: space-between; }.inline-link { background: transparent; border-bottom: 1px solid #aeb3af; padding: 0 0 7px; font-weight: 700; font-size: 12px; }.inline-link span { margin-left: 18px; }
.category-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.category-card { min-height: 155px; background: #ecece8; border: 1px solid #dedfdb; padding: 20px 16px; position: relative; display: flex; flex-direction: column; justify-content: space-between; text-align: left; transition: .2s; overflow: hidden; }.category-card:hover { background: var(--ink); color: white; transform: translateY(-4px); }.category-card strong { font-size: 14px; }.category-card small { color: #8a9297; font-size: 9px; }.category-card .cat-icon { font-size: 42px; opacity: .2; position: absolute; right: 12px; bottom: 8px; font-weight: 900; transform: rotate(-8deg); }.category-card .arrow { color: var(--orange); font-size: 18px; }
.process-section { background: var(--ink); color: white; position: relative; overflow: hidden; }.process-section::before { content:''; position:absolute; inset:0; background: linear-gradient(135deg,transparent 50%,rgba(255,255,255,.025) 50%); background-size: 70px 70px; }.centered { text-align: center; position: relative; }.light-heading p { color: #8f999f; font-size: 13px; margin-top: 12px; }
.process-grid { position: relative; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.13); }
.process-grid article { padding: 38px 48px 20px; min-height: 240px; border-right: 1px solid rgba(255,255,255,.13); }.process-grid article:first-child { border-left: 1px solid rgba(255,255,255,.13); }.step-no { font: 600 9px 'IBM Plex Mono'; color: var(--orange); }.process-icon { margin: 25px 0 18px; font-size: 32px; color: #e4e8e5; }.process-grid h3 { font-size: 18px; }.process-grid p { color: #879198; font-size: 12px; line-height: 1.8; max-width: 240px; }
.vendor-preview-section { background: #efefeb; }.vendor-preview-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.vendor-preview-card { background: white; padding: 24px; border: 1px solid var(--line); transition: .2s; }.vendor-preview-card:hover { transform: translateY(-3px); box-shadow: 0 15px 35px rgba(0,0,0,.06); }.vendor-card-top { display:flex; align-items:center; gap:13px; }.vendor-card-top .company-logo { width: 42px; height: 42px; }.vendor-card-top h3 { margin:0; font-size:14px; }.vendor-card-top small { color: var(--green); font-size:9px; font-weight:700; }.vendor-preview-card p { color: var(--muted); font-size: 11px; line-height:1.7; margin: 18px 0; min-height:38px; }.tag-row { display:flex; gap:5px; flex-wrap:wrap; }.tag { padding:5px 7px; background:#f0f1ed; color:#5f686f; font-size:9px; }.rating-line { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:14px; margin-top:16px; font-size:10px; }.rating-line b { color:var(--orange); }.rating-line span { color:#788188; }
.final-cta { margin-top: 95px; margin-bottom: 95px; background: var(--ink); color: white; min-height: 265px; padding: 52px 64px; display: flex; align-items: center; justify-content: space-between; position: relative; overflow: hidden; }.final-cta::after { content:'FITDEAL'; position:absolute; right:-20px; bottom:-45px; font-size:130px; font-weight:900; opacity:.025; }.final-cta span { font:600 9px 'IBM Plex Mono'; color:var(--orange); letter-spacing:.18em; }.final-cta h2 { font-size:34px; line-height:1.35; letter-spacing:-.05em; margin:12px 0 0; }

.site-footer { background:#0c1218; color:white; padding:65px 0 25px; }.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; }.footer-brand { color:white; }.footer-grid p { color:#69747c; font-size:11px; margin-top:15px; }.footer-grid > div:not(:first-child) { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }.footer-grid strong { font-size:11px; margin-bottom:6px; }.footer-grid button:not(.brand) { color:#7f8990; background:transparent; padding:0; font-size:10px; }.legal-copy { margin-top:50px; border-top:1px solid rgba(255,255,255,.08); padding-top:20px; color:#606a71; font-size:9px; }

.page-hero { background:var(--ink); color:white; padding:80px 0 70px; }.compact-hero { position:relative; overflow:hidden; }.compact-hero::after { content:'CATALOG'; position:absolute; right:4%; bottom:-55px; font-size:130px; font-weight:900; opacity:.025; }.compact-hero h1 { margin:8px 0 10px; font-size:48px; letter-spacing:-.055em; }.compact-hero p { margin:0; color:#9ca5ab; font-size:14px; }.app-content { padding-top:44px; padding-bottom:100px; }.toolbar { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-bottom:32px; }.search-box { width:340px; height:46px; background:white; border:1px solid var(--line); display:flex; align-items:center; padding:0 14px; gap:10px; border-radius:5px; }.search-box input { border:0; outline:0; width:100%; background:transparent; font-size:12px; }.filter-pills { display:flex; gap:7px; flex-wrap:wrap; }.filter-pills button { min-height:34px; padding:0 13px; border:1px solid var(--line); background:transparent; border-radius:18px; color:#667078; font-size:10px; }.filter-pills button.active { background:var(--ink); color:white; border-color:var(--ink); }.result-line { margin-bottom:18px; font-size:12px; }.result-line span { color:#92999e; font-size:10px; margin-left:8px; }.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }.product-card { background:white; border:1px solid var(--line); position:relative; overflow:hidden; }.product-image { height:190px; display:grid; place-items:center; background:#e8e9e5; position:relative; }.product-image::before,.product-image::after { content:''; position:absolute; background:#c9ceca; border-radius:2px; }.product-image::before { width:75px; height:100px; border:8px solid #343e46; background:transparent; }.product-image::after { width:120px; height:10px; background:#343e46; bottom:35px; }.product-image span { position:absolute; z-index:2; font:800 28px 'IBM Plex Mono'; color:#a7ada8; transform:rotate(-8deg); }.condition-tag { position:absolute; top:10px; left:10px; background:var(--ink); color:white; padding:4px 7px; font-size:8px; z-index:3; }.condition-tag.used { background:#8a6339; }.product-info { padding:18px; }.product-info small { color:var(--orange); font:600 8px 'IBM Plex Mono'; }.product-info h3 { font-size:14px; margin:7px 0 5px; }.product-info p { color:#788188; font-size:10px; margin-bottom:16px; }.product-info footer { border-top:1px solid var(--line); padding-top:13px; display:flex; justify-content:space-between; align-items:center; }.product-info footer strong { font-size:11px; }.product-info footer button { background:transparent; color:var(--orange); font-weight:800; font-size:10px; }
.catalog-filter-row { width:100%; display:flex; align-items:center; gap:9px; }
.catalog-filter-row > span { width:42px; flex:0 0 auto; color:#8a9297; font-size:10px; font-weight:800; }
.catalog-filter-row > div { display:flex; gap:7px; flex-wrap:wrap; }
.line-badge { display:inline-flex; margin-top:7px; border-radius:999px; background:#f1f2f3; padding:3px 7px; color:#6e7782; font-size:9px; font-weight:800; }
.product-meta { min-height:38px; display:flex; flex-direction:column; gap:3px; margin:12px 0; }
.product-meta span { color:#1d2a3f; font-size:11px; font-weight:900; }
.product-meta em { color:#8a929b; font-size:10px; font-style:normal; }
.empty-state { grid-column:1/-1; min-height:220px; display:grid; place-items:center; border:1px dashed #d7dce2; border-radius:14px; background:#fff; color:#8a929b; font-size:13px; text-align:center; }
.vendor-list { display:flex; flex-direction:column; gap:12px; }.vendor-list-card { display:grid; grid-template-columns:1.2fr 1fr .6fr auto; align-items:center; gap:24px; background:white; border:1px solid var(--line); padding:25px; }.vendor-list-card .vendor-card-top h3 { font-size:16px; }.vendor-description { font-size:11px; line-height:1.7; color:#687179; }.vendor-metrics { display:flex; gap:20px; }.vendor-metrics div { display:flex; flex-direction:column; }.vendor-metrics small { color:#91989d; font-size:8px; }.vendor-metrics strong { font-size:13px; margin-top:3px; }

.dashboard-page { background:#eff0ed; min-height:calc(100vh - 76px); }.dashboard-shell { min-height:calc(100vh - 76px); display:grid; grid-template-columns:220px 1fr; }.sidebar { background:var(--ink); color:white; padding:30px 18px; display:flex; flex-direction:column; }.sidebar-brand { color:white; padding:0 10px; margin-bottom:45px; }.sidebar nav { display:flex; flex-direction:column; gap:5px; }.sidebar nav button { color:#8e999f; background:transparent; min-height:44px; border-radius:5px; display:flex; align-items:center; gap:13px; text-align:left; padding:0 14px; font-size:11px; }.sidebar nav button.active,.sidebar nav button:hover { color:white; background:#26313a; }.sidebar nav b { margin-left:auto; background:var(--orange); color:white; border-radius:10px; padding:2px 6px; font-size:8px; }.sidebar-notice { margin-top:auto; background:#26313a; padding:17px; }.sidebar-notice strong { font-size:11px; }.sidebar-notice p { color:#8e999f; font-size:9px; line-height:1.6; margin:7px 0 14px; }.sidebar-notice button { background:transparent; color:var(--orange); padding:0; font-size:9px; font-weight:700; }.dashboard-main { min-width:0; }.dashboard-top { height:95px; background:white; border-bottom:1px solid var(--line); padding:0 35px; display:flex; justify-content:space-between; align-items:center; }.dashboard-top h1 { margin:3px 0 0; font-size:21px; letter-spacing:-.04em; }.dashboard-top small { color:#8b9398; font-size:9px; }.user-chip { display:flex; align-items:center; gap:9px; }.user-chip > span { width:34px; height:34px; border-radius:50%; background:#e6e7e3; display:grid; place-items:center; font-weight:800; font-size:11px; }.user-chip div { display:flex; flex-direction:column; }.user-chip strong { font-size:10px; }.dashboard-content { padding:30px 35px 70px; max-width:1250px; margin:0 auto; }.summary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:35px; }.summary-grid article { background:white; border:1px solid var(--line); padding:20px; display:grid; grid-template-columns:1fr auto; align-items:end; }.summary-grid span { font-size:10px; color:#727b82; }.summary-grid strong { grid-row:1/3; grid-column:2; font-size:32px; }.summary-grid small { font-size:8px; color:#92999e; margin-top:7px; }.summary-grid .positive { color:var(--green); }.dash-section-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:15px; }.dash-section-heading h2 { margin:0 0 4px; font-size:18px; }.dash-section-heading p { margin:0; font-size:9px; color:#879097; }.dash-section-heading > button { background:transparent; color:var(--orange); font-size:10px; font-weight:700; }.request-card { background:white; border:1px solid var(--line); }.request-card-head { padding:24px 26px; display:flex; justify-content:space-between; }.live-tag { display:inline-flex; align-items:center; gap:6px; background:#e9f5ef; color:#27805a; padding:5px 8px; font-size:8px; font-weight:700; }.live-tag i { width:5px; height:5px; border-radius:50%; background:#42af7d; }.request-card-head > div > small { color:#9aa1a5; font-size:8px; margin-left:8px; }.request-card-head h3 { margin:11px 0 5px; font-size:17px; }.request-card-head p { color:#788188; font-size:10px; margin:0; }.deadline { text-align:right; }.deadline small { display:block; font-size:8px; color:#989fa4; }.deadline strong { color:var(--orange); font-size:18px; }.request-stats { display:grid; grid-template-columns:repeat(4,1fr); background:#f5f5f2; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.request-stats div { padding:13px 24px; border-right:1px solid var(--line); }.request-stats small { display:block; color:#92999e; font-size:8px; margin-bottom:4px; }.request-stats strong { font-size:10px; }.accent-text { color:var(--orange); }.quote-compare { padding:10px 18px; }.quote-row { display:grid; grid-template-columns:30px 1.3fr .8fr .8fr .7fr auto; gap:12px; align-items:center; padding:13px 8px; border-bottom:1px solid #eceeeb; }.quote-select { width:17px; height:17px; accent-color:var(--orange); }.quote-row .vendor-card-top .company-logo { width:30px; height:30px; font-size:10px; }.quote-row .vendor-card-top h3 { font-size:10px; }.quote-row span { font-size:9px; color:#7d858b; }.quote-row strong { font-size:10px; }.compare-actions { display:flex; justify-content:space-between; align-items:center; padding:16px 25px; background:#f2f3ef; }.compare-actions > span { color:#788188; font-size:8px; }.compare-actions > span i { display:inline-grid; place-items:center; width:15px; height:15px; border-radius:50%; background:#d9dcd8; margin-right:5px; }
.credit-card { margin-top:auto; border:1px solid #38444d; padding:16px; display:grid; grid-template-columns:1fr auto; }.credit-card span,.credit-card small { font-size:8px; color:#89949a; }.credit-card strong { font-size:25px; grid-row:1/3; grid-column:2; }.credit-card button { grid-column:1/3; background:#28343d; color:white; padding:8px; margin-top:12px; font-size:8px; }.vendor-welcome { background:var(--ink); color:white; padding:30px 38px; margin-bottom:30px; display:flex; align-items:center; justify-content:space-between; position:relative; overflow:hidden; }.vendor-welcome::after { content:'LEADS'; position:absolute; font-size:100px; right:120px; bottom:-40px; opacity:.025; font-weight:900; }.vendor-welcome h2 { font-size:26px; letter-spacing:-.045em; line-height:1.4; margin:15px 0 7px; }.vendor-welcome p { color:#8d989f; font-size:10px; margin:0; }.match-ring { width:105px; height:105px; border-radius:50%; border:7px solid #34414a; border-top-color:var(--orange); display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(20deg); }.match-ring strong,.match-ring span { transform:rotate(-20deg); }.match-ring strong { font-size:27px; }.match-ring span { font:600 7px 'IBM Plex Mono'; color:#8e999f; }.lead-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.lead-card { background:white; border:1px solid var(--line); padding:20px; display:flex; flex-direction:column; }.lead-card-top { display:flex; justify-content:space-between; }.lead-card .lead-badge { padding:4px 7px; background:#fff0ea; color:var(--orange); font-size:8px; font-weight:700; }.lead-card .lead-id { font:500 8px 'IBM Plex Mono'; color:#9ba2a6; }.lead-card h3 { font-size:14px; line-height:1.5; margin:15px 0 5px; }.lead-card > p { color:#7a8389; font-size:9px; min-height:28px; }.lead-card dl { margin:13px 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }.lead-card dt { color:#9aa1a6; font-size:7px; }.lead-card dd { margin:2px 0 0; font-size:9px; font-weight:700; }.lead-card footer { margin-top:auto; border-top:1px solid var(--line); padding-top:13px; display:flex; align-items:center; justify-content:space-between; }.lead-card footer span { font-size:8px; color:#838c92; }.lead-card footer button { background:var(--ink); color:white; padding:8px 11px; font-size:8px; border-radius:4px; }.mobile-back { display:none; }

.modal-layer { position:fixed; inset:0; z-index:100; display:none; }.modal-layer.open { display:block; }.modal-backdrop { position:absolute; inset:0; background:rgba(5,10,14,.72); backdrop-filter:blur(5px); }.quote-modal { position:absolute; top:0; right:0; height:100%; width:min(620px,100%); background:var(--paper); box-shadow:-20px 0 60px rgba(0,0,0,.2); overflow:auto; animation:slideIn .3s ease; }.compare-modal,.submit-modal { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); background:var(--paper); width:min(950px,calc(100% - 30px)); max-height:90vh; overflow:auto; box-shadow:var(--shadow); padding:28px; }.submit-modal { width:min(600px,calc(100% - 30px)); }.modal-header { min-height:72px; padding:0 32px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }.compare-modal .modal-header,.submit-modal .modal-header { padding:0 0 20px; }.modal-header h2 { margin:3px 0 0; }.icon-button { background:transparent; font-size:28px; font-weight:300; color:#687178; }.quote-progress { padding:18px 34px 0; display:flex; align-items:center; gap:13px; }.progress-bar { height:3px; background:#dfe1dd; flex:1; }.progress-bar i { display:block; height:100%; width:25%; background:var(--orange); transition:.3s; }.quote-progress span { font:600 9px 'IBM Plex Mono'; color:#879096; }.quote-modal form { padding:18px 34px 30px; }.form-step { display:none; }.form-step.active { display:block; animation:pageIn .25s; }.form-heading { margin-bottom:25px; }.form-heading > span { color:var(--orange); }.form-heading h2 { font-size:25px; letter-spacing:-.05em; margin:8px 0 8px; }.form-heading p { color:#747e85; font-size:10px; line-height:1.7; }.quote-modal fieldset { border:0; margin:0 0 22px; padding:0; }.quote-modal legend,.quote-modal label,.submit-modal label { display:block; font-size:10px; font-weight:700; margin-bottom:8px; }.quote-modal label > span,.submit-modal label > span { color:var(--orange); }.quote-modal legend small { color:#9ba2a6; font-weight:400; }.choice-grid { display:grid; gap:8px; }.choice-grid.four { grid-template-columns:repeat(4,1fr); }.choice-grid.three { grid-template-columns:repeat(3,1fr); }.choice-grid.tags { grid-template-columns:repeat(4,1fr); }.choice-grid button { min-height:48px; border:1px solid var(--line); background:white; color:#6f787e; border-radius:4px; font-size:10px; }.choice-grid button.selected { border-color:var(--orange); color:var(--orange); background:#fff7f4; font-weight:700; box-shadow:inset 0 0 0 1px var(--orange); }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }.quote-modal input,.quote-modal select,.quote-modal textarea,.submit-modal input,.submit-modal textarea { width:100%; border:1px solid var(--line); background:white; border-radius:4px; min-height:46px; padding:0 13px; font-size:11px; color:var(--ink); }.quote-modal textarea,.submit-modal textarea { padding-top:12px; resize:vertical; }.input-unit { position:relative; }.input-unit input { padding-right:42px; }.input-unit span { position:absolute; right:13px; top:50%; transform:translateY(-50%); color:#8e969b; font-size:10px; }.check-row { display:flex; gap:9px; flex-wrap:wrap; }.check-row label { min-height:39px; display:flex; align-items:center; gap:6px; border:1px solid var(--line); background:white; padding:0 11px; border-radius:4px; font-size:9px; font-weight:500; }.check-row input,.consent input { accent-color:var(--orange); width:15px; min-height:auto; }.form-summary { background:white; border:1px solid var(--line); padding:15px; margin:15px 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }.form-summary div small { display:block; color:#92999e; font-size:8px; }.form-summary div strong { font-size:10px; }.consent { display:flex!important; gap:8px; align-items:flex-start; color:#697279; font-weight:400!important; line-height:1.6; }.modal-actions { position:sticky; bottom:-30px; background:var(--paper); border-top:1px solid var(--line); padding-top:14px; display:flex; justify-content:space-between; gap:8px; margin-top:25px; }.modal-actions .button:last-child,.modal-actions #quote-next { margin-left:auto; }.modal-actions #quote-submit { display:none; }.compare-grid { display:grid; grid-template-columns:150px repeat(var(--cols),1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); margin-top:20px; }.compare-cell { min-height:54px; padding:12px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; background:white; font-size:10px; }.compare-cell.label { background:#eceeea; color:#747d83; }.compare-cell strong { font-size:12px; }.compare-head { background:var(--ink); color:white; }.compare-head small { color:#8f9aa1; }.lead-summary { background:#eeefeb; border:1px solid var(--line); padding:15px; margin:18px 0; }.lead-summary strong { display:block; font-size:13px; }.lead-summary span { font-size:9px; color:#7b848a; }.submit-modal .check-row { margin-bottom:18px; }.submit-modal label { margin-top:15px; }.credit-use { display:flex; justify-content:space-between; font-size:10px; padding:14px 0; margin-top:10px; border-top:1px solid var(--line); }.credit-use strong { color:var(--orange); }
@keyframes slideIn { from { transform:translateX(100%); } }
.toast { position:fixed; bottom:26px; left:50%; z-index:200; transform:translate(-50%,30px); opacity:0; pointer-events:none; background:var(--ink); color:white; display:flex; align-items:center; gap:10px; padding:13px 18px; box-shadow:var(--shadow); transition:.3s; }.toast.show { opacity:1; transform:translate(-50%,0); }.toast span { color:var(--green); }.toast p { margin:0; font-size:10px; }.mobile-quote-cta { display:none; }

@media (max-width: 980px) {
  .desktop-nav,.desktop-only { display:none!important; }.mobile-menu-button { display:flex; width:38px; height:38px; flex-direction:column; justify-content:center; gap:4px; background:transparent; }.mobile-menu-button span { width:20px; height:2px; background:var(--ink); }.mobile-nav { position:absolute; left:0; right:0; top:76px; background:var(--paper); border-bottom:1px solid var(--line); padding:10px 20px 18px; flex-direction:column; }.mobile-nav.open { display:flex; }.mobile-nav button { text-align:left; background:transparent; padding:12px 0; border-bottom:1px solid var(--line); }
  .hero-layout { grid-template-columns:1fr; padding-top:80px; padding-bottom:80px; gap:20px; }.hero-copy { max-width:620px; }.hero-visual { max-width:620px; width:100%; margin:0 auto; }.trust-grid { grid-template-columns:repeat(2,1fr); }.category-grid { grid-template-columns:repeat(3,1fr); }.product-grid { grid-template-columns:repeat(3,1fr); }.vendor-list-card { grid-template-columns:1.2fr 1fr auto; }.vendor-description { display:none; }.dashboard-shell { grid-template-columns:1fr; }.sidebar { display:none; }.dashboard-page { min-height:100vh; }.dashboard-top { height:86px; }.mobile-back { display:block; background:transparent; color:var(--orange); font-size:10px; }.lead-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 680px) {
  body { background:#f4f5f6; padding-bottom:64px; }
  .container { width:min(calc(100% - 28px),var(--container)); }.site-header { height:62px; background:#fff; border-bottom:0; }.header-inner { height:62px; padding:0 13px; width:100%; }.brand small,.role-switch { display:none; }.header-actions { display:none; }.mobile-nav { top:62px; }.button-small { min-height:36px; font-size:11px; padding:0 12px; }
  .site-header .brand { font-size:18px; flex-shrink:0; }.site-header .brand-mark { width:24px; height:21px; }.site-header .brand-mark i { width:6px; }.site-header .brand-mark i:nth-child(1){height:11px}.site-header .brand-mark i:nth-child(2){height:20px}.site-header .brand-mark i:nth-child(3){height:14px}
  .mobile-quick-search { display:flex; height:40px; flex:1; max-width:220px; margin-left:20px; border-radius:10px; background:#f0f1f2; align-items:center; gap:8px; padding:0 12px; color:#616a72; font-size:11px; text-align:left; }.mobile-quick-search > span:first-child { font-size:19px; line-height:1; color:#1a232b; }
  .mobile-benchmark-home { display:block; background:#f4f5f6; padding-bottom:22px; }
  [data-page="home"] > .hero-shell,[data-page="home"] > .trust-strip,[data-page="home"] > .category-section,[data-page="home"] > .process-section,[data-page="home"] > .vendor-preview-section,[data-page="home"] > .final-cta { display:none; }
  .mobile-intro { background:#fff; min-height:128px; padding:16px 17px 18px; display:flex; align-items:center; justify-content:space-between; }.mobile-overline { display:block; margin-bottom:8px; color:#9aa1a6; font:600 7px 'IBM Plex Mono'; letter-spacing:.13em; }.mobile-intro h1 { margin:0; font-size:25px; line-height:1.35; letter-spacing:-.055em; }.mobile-round-cta { width:46px; height:46px; border-radius:50%; flex-shrink:0; background:var(--ink); color:#fff; font-size:21px; margin:9px 2px 0 10px; }
  .mobile-intent-tabs { margin:0 11px 18px; display:grid; grid-template-columns:repeat(3,1fr); background:#eeeff0; border-radius:9px; padding:4px; }.mobile-intent-tabs button { min-height:39px; padding:0 5px; color:#5c656d; background:transparent; border-right:1px solid #d9dbdd; font-size:11px; font-weight:700; }.mobile-intent-tabs button:last-child { border:0; }.mobile-intent-tabs button:active { background:#fff; color:var(--orange); border-radius:6px; }
  .mobile-brand-shortcuts { padding:25px 18px 19px; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; background:#f4f5f6; border-top:1px solid #eaebec; }.mobile-brand-shortcuts button { padding:0; background:transparent; display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0; }.mobile-brand-shortcuts strong { font-size:10px; white-space:nowrap; }.mobile-brand-icon { width:58px; height:58px; border-radius:17px; display:grid; place-items:center; background:#fff; box-shadow:0 2px 9px rgba(13,23,31,.03); font:800 18px 'IBM Plex Mono'; border:1px solid #f0f1f2; }.mobile-brand-icon.newtech { color:#18374e; }.mobile-brand-icon.drax { color:var(--orange); }.mobile-brand-icon.life { color:#54756c; font-size:14px; }.mobile-brand-icon.used { color:#fff; background:#202a33; }
  .mobile-promo-banner { width:calc(100% - 22px); min-height:87px; margin:0 11px 25px; border-radius:9px; background:#e9dfdd; padding:0 15px; position:relative; overflow:hidden; display:flex; align-items:center; text-align:left; }.mobile-promo-banner > span:first-child { display:flex; flex-direction:column; gap:3px; position:relative; z-index:2; }.mobile-promo-banner b { font-size:14px; }.mobile-promo-banner small { color:#79706e; font-size:9px; }.mobile-promo-banner em { position:absolute; right:7px; bottom:5px; border-radius:9px; background:rgba(0,0,0,.5); color:#fff; padding:2px 7px; font-size:7px; font-style:normal; }.promo-machine { position:absolute; right:24px; bottom:0; width:105px; height:79px; transform:skew(-7deg); }.promo-machine i:nth-child(1) { position:absolute; right:10px; bottom:9px; width:75px; height:48px; border:8px solid #29333a; border-top-width:5px; border-radius:6px 16px 5px 5px; }.promo-machine i:nth-child(2),.promo-machine i:nth-child(3) { position:absolute; bottom:3px; width:20px; height:20px; border:5px solid #29333a; border-radius:50%; background:#9ca2a2; }.promo-machine i:nth-child(2){right:12px}.promo-machine i:nth-child(3){right:67px}
  .mobile-deal-section { padding:0 0 18px; }.mobile-section-title { display:flex; justify-content:space-between; align-items:flex-end; padding:0 17px 12px; }.mobile-section-title span { color:var(--orange); font:600 7px 'IBM Plex Mono'; letter-spacing:.12em; }.mobile-section-title h2 { margin:3px 0 0; font-size:20px; letter-spacing:-.045em; }.mobile-section-title > button { padding:0; color:#858c91; background:transparent; font-size:9px; }.mobile-deal-card { margin:0 6px; padding:6px 10px; background:#fff; border-radius:10px; box-shadow:0 1px 2px rgba(0,0,0,.02); }.mobile-deal-row { width:100%; min-height:84px; padding:9px 5px; display:grid; grid-template-columns:68px 1fr; gap:10px; text-align:left; background:#fff; border-bottom:1px solid #eef0f1; }.mobile-deal-row:last-child { border-bottom:0; }.deal-thumb { width:68px; height:66px; border-radius:7px; background:#f2f3f4; display:grid; place-items:center; overflow:hidden; }.machine { display:block; position:relative; width:47px; height:37px; }.machine.rack { border:5px solid #4d5960; border-bottom-width:3px; }.machine.rack::before { content:''; position:absolute; left:6px; right:6px; top:12px; height:4px; background:#4d5960; box-shadow:0 11px 0 #4d5960; }.machine.treadmill::before { content:''; position:absolute; left:2px; bottom:3px; width:45px; height:10px; background:#4d5960; border-radius:10px 4px 4px 10px; transform:skew(-15deg); }.machine.treadmill::after { content:''; position:absolute; right:4px; top:1px; width:5px; height:31px; background:#4d5960; transform:rotate(-13deg); }.machine.plate { width:42px; height:42px; border:8px solid #4d5960; border-radius:50%; }.machine.plate::after { content:''; position:absolute; inset:7px; border-radius:50%; background:#f2f3f4; }.deal-copy { min-width:0; display:flex; flex-direction:column; justify-content:center; }.deal-copy small { color:#7e878d; font-size:8px; }.deal-copy small b { padding:2px 5px; border-radius:7px; background:#eef0f0; color:#536069; margin-right:4px; }.deal-copy strong { font-size:11px; margin:5px 0 3px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }.deal-copy > span { color:#343d44; font-size:9px; }.deal-copy del { color:#9ca2a6; margin-right:3px; }.deal-copy em { color:#ff4141; font-style:normal; font-weight:800; margin-left:3px; }.mobile-carousel-dots { display:flex; justify-content:center; gap:5px; padding:13px 0 0; }.mobile-carousel-dots i { width:5px; height:5px; border-radius:50%; background:#d4d7d9; }.mobile-carousel-dots i.active { background:#7b8388; }
  .mobile-partner-banner { margin:2px 7px 25px; min-height:72px; padding:11px 12px; display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:9px; background:#fff; border:1px solid #e1e3e4; border-radius:10px; }.partner-shield { width:36px; height:39px; display:grid; place-items:center; color:#fff; background:#4379c8; clip-path:polygon(50% 0,93% 17%,86% 76%,50% 100%,14% 76%,7% 17%); font-weight:900; }.mobile-partner-banner > span:nth-child(2) { display:flex; flex-direction:column; }.mobile-partner-banner strong { font-size:10px; }.mobile-partner-banner small { margin-top:3px; color:#888f94; font-size:7px; }.mobile-partner-banner button { min-height:36px; padding:0 11px; border-radius:5px; background:var(--ink); color:#fff; font-size:8px; font-weight:800; }
  .mobile-safety-note { margin:0 11px 20px; padding:26px 22px; color:#fff; background:var(--ink); border-radius:10px; }.mobile-safety-note > span { color:var(--orange); font:600 7px 'IBM Plex Mono'; letter-spacing:.13em; }.mobile-safety-note h2 { font-size:18px; line-height:1.45; margin:8px 0; letter-spacing:-.04em; }.mobile-safety-note p { color:#919ba1; font-size:9px; line-height:1.7; }.mobile-safety-note button { margin-top:6px; padding:0; background:transparent; color:var(--orange); font-size:9px; font-weight:800; }
  .hero-shell,.hero-layout { min-height:auto; }.hero-layout { padding-top:60px; padding-bottom:55px; }.hero-copy h1 { font-size:46px; }.hero-copy > p { font-size:14px; line-height:1.75; }.hero-actions { flex-direction:column; align-items:stretch; }.hero-visual { padding:30px 0 20px; }.floating-badge,.visual-topline { display:none; }.board-head { padding:22px 20px 17px; }.board-head h2 { font-size:20px; }.board-meta div { padding:12px 17px; }.mini-quotes { padding:9px; }.mini-quotes article { grid-template-columns:34px 1fr auto; padding:10px 7px; }.board-footer { padding:14px 17px; }
  .trust-grid > div { min-height:82px; }.trust-grid strong { font-size:23px; }.section { padding:75px 0; }.section-heading h2 { font-size:27px; }.split-heading { align-items:flex-start; gap:15px; }.inline-link { white-space:nowrap; margin-top:10px; font-size:10px; }.category-grid { grid-template-columns:repeat(2,1fr); }.category-card { min-height:120px; }.process-grid { grid-template-columns:1fr; }.process-grid article,.process-grid article:first-child { border-left:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); min-height:auto; padding:28px; }.vendor-preview-grid { grid-template-columns:1fr; }.final-cta { margin-top:55px; margin-bottom:55px; padding:38px 28px; flex-direction:column; align-items:flex-start; gap:28px; }.final-cta h2 { font-size:28px; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid > div:first-child { grid-column:1/3; }
  .compact-hero { padding:56px 0 48px; }.compact-hero h1 { font-size:38px; }.toolbar { align-items:stretch; flex-direction:column; }.search-box { width:100%; }.filter-pills { overflow:auto; flex-wrap:nowrap; padding-bottom:3px; }.filter-pills button { white-space:nowrap; }.product-grid { grid-template-columns:repeat(2,1fr); gap:8px; }.product-image { height:140px; }.product-info { padding:13px; }.product-info p { min-height:27px; }.vendor-list-card { grid-template-columns:1fr auto; gap:15px; padding:18px; }.vendor-metrics { grid-column:1/3; border-top:1px solid var(--line); padding-top:12px; }.vendor-list-card > .button { grid-row:1; grid-column:2; font-size:9px; padding:0 10px; }
  .dashboard-top { padding:0 16px; }.dashboard-top > div:nth-child(2) { display:none; }.dashboard-content { padding:22px 14px 80px; }.summary-grid { grid-template-columns:repeat(3,1fr); gap:5px; }.summary-grid article { padding:12px 9px; display:flex; flex-direction:column; align-items:flex-start; }.summary-grid strong { order:-1; font-size:25px; }.summary-grid span { margin-top:5px; }.dash-section-heading { align-items:flex-start; }.request-card-head { padding:18px; }.request-card-head .deadline { display:none; }.request-stats { grid-template-columns:repeat(2,1fr); }.request-stats div { padding:11px 15px; }.quote-row { grid-template-columns:24px 1fr auto; }.quote-row > span,.quote-row > strong:not(:last-child) { display:none; }.compare-actions { align-items:flex-start; flex-direction:column; gap:10px; }.compare-actions .button { width:100%; }.vendor-welcome { padding:25px 20px; }.vendor-welcome h2 { font-size:21px; }.match-ring { width:75px; height:75px; flex-shrink:0; }.lead-grid { grid-template-columns:1fr; }
  .quote-modal form { padding:16px 20px 25px; }.modal-header { padding:0 20px; }.quote-progress { padding:15px 20px 0; }.form-heading h2 { font-size:22px; }.choice-grid.four,.choice-grid.tags { grid-template-columns:repeat(2,1fr); }.field-row { grid-template-columns:1fr; gap:0; }.form-summary { grid-template-columns:1fr 1fr; }.compare-modal,.submit-modal { width:100%; max-height:100%; height:100%; padding:20px 14px; }.compare-grid { min-width:620px; }.compare-modal #compare-table { overflow:auto; }
  .mobile-quote-cta { display:none!important; }.mobile-bottom-nav { display:grid; grid-template-columns:repeat(5,1fr); position:fixed; z-index:48; left:0; right:0; bottom:0; min-height:62px; padding:4px 5px max(4px,env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #e1e3e4; }.mobile-bottom-nav button { background:transparent; color:#9ba1a5; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; }.mobile-bottom-nav button > span { font-size:19px; height:22px; }.mobile-bottom-nav button small { font-size:7px; font-weight:700; }.mobile-bottom-nav button.active { color:var(--ink); }.mobile-bottom-nav button:nth-child(3) { color:var(--orange); }.bottom-quote-icon { width:27px; height:27px!important; border-radius:9px; display:grid; place-items:center; color:#fff; background:var(--orange); font-size:18px!important; margin-top:-9px; }.site-footer { display:none; }
}

@media (max-width: 420px) { .product-grid { grid-template-columns:1fr 1fr; }.product-image { height:120px; }.product-image::before { transform:scale(.75); }.product-image::after { transform:scale(.75); }.product-info h3 { font-size:12px; }.product-info footer { align-items:flex-start; flex-direction:column; gap:7px; }.header-actions .button-small { display:none; } }

/* Mobile visual system — aligned with the 받을결심 product family */
@media (max-width: 680px) {
  body { color:#14213a; background:#f4f5f7; }
  .site-header { height:60px; background:#fff; border-bottom:1px solid #eef0f3; box-shadow:none; }
  .header-inner { height:60px; padding:0 14px; }
  .site-header .brand { color:#14213a; font-size:18px; letter-spacing:-.055em; }
  .site-header .brand-mark { width:32px; height:32px; padding:6px; align-items:flex-end; justify-content:center; gap:2px; border-radius:9px; background:#f97316; transform:none; box-shadow:0 4px 12px rgba(249,115,22,.18); }
  .site-header .brand-mark i { width:5px; background:#fff; transform:skew(-10deg); }
  .site-header .brand-mark i:nth-child(1){height:9px}.site-header .brand-mark i:nth-child(2){height:17px}.site-header .brand-mark i:nth-child(3){height:12px}
  .mobile-quick-search { height:40px; max-width:210px; margin-left:18px; border-radius:11px; background:#f3f4f6; color:#697386; font-size:11px; }

  .mobile-benchmark-home { color:#14213a; background:#f4f5f7; }
  .mobile-intro { min-height:122px; padding:17px 18px 16px; background:#fff; }
  .mobile-overline { margin-bottom:8px; color:#f97316; font-family:'Noto Sans KR',sans-serif; font-size:9px; font-weight:800; letter-spacing:-.02em; }
  .mobile-intro h1 { color:#14213a; font-size:25px; line-height:1.34; letter-spacing:-.055em; }
  .mobile-round-cta { width:47px; height:47px; margin-right:3px; background:#111820; box-shadow:0 7px 16px rgba(17,24,32,.13); }
  .mobile-intent-tabs { margin:0 13px 18px; padding:4px; border-radius:11px; background:#f4f5f7; }
  .mobile-intent-tabs button { min-height:40px; border-color:#dde1e6; color:#566274; font-size:11px; }
  .mobile-intent-tabs button:active { color:#f97316; background:#fff; }

  .mobile-brand-shortcuts { padding:23px 17px 20px; gap:14px; background:#f4f5f7; border-top:1px solid #edf0f3; }
  .mobile-brand-shortcuts button { gap:8px; }
  .mobile-brand-shortcuts strong { color:#29364b; font-size:10px; font-weight:700; }
  .mobile-brand-icon { width:57px; height:57px; border:0; border-radius:17px; font-family:'Noto Sans KR',sans-serif; font-size:24px; font-weight:700; box-shadow:0 4px 14px rgba(20,33,58,.04); }
  .mobile-brand-icon.newtech { color:#2878d0; background:#fff; }
  .mobile-brand-icon.drax { color:#d78b15; background:#fffbf2; }
  .mobile-brand-icon.life { color:#249582; background:#f1fcf9; }
  .mobile-brand-icon.used { color:#8b67c4; background:#faf7ff; }

  .mobile-promo-banner { min-height:84px; margin:0 12px 27px; padding:0 16px; border:1px solid #e1eef1; border-radius:12px; background:linear-gradient(112deg,#eff9ff 0%,#eafbf7 100%); box-shadow:0 5px 18px rgba(20,72,104,.04); }
  .mobile-promo-banner b { color:#243148; font-size:14px; }
  .mobile-promo-banner small { color:#708092; font-size:9px; }
  .promo-shield { position:absolute; right:22px; top:10px; width:66px; height:64px; display:grid; place-items:center; border-radius:18px 18px 24px 24px; color:#fff; background:linear-gradient(145deg,#ff8b3d,#f25b20); box-shadow:0 8px 20px rgba(249,115,22,.22); transform:rotate(7deg); }
  .promo-shield i { display:grid; place-items:center; width:28px; height:31px; border:2px solid #fff; border-radius:9px 9px 13px 13px; font-size:15px; font-style:normal; }
  .promo-shield b { position:absolute; right:-4px; bottom:4px; padding:2px 5px; border-radius:6px; color:#fff; background:#ff4d4f; font:800 7px 'IBM Plex Mono'; }

  .mobile-deal-section { padding-bottom:20px; }
  .mobile-section-title { padding:0 18px 12px; }
  .mobile-section-title span { color:#249582; font-family:'Noto Sans KR',sans-serif; font-size:8px; font-weight:800; letter-spacing:-.01em; }
  .mobile-section-title h2 { color:#14213a; font-size:20px; }
  .mobile-section-title > button { color:#687588; font-size:9px; }
  .mobile-provider-card { margin:0 10px; padding:7px 12px; border:1px solid #e8ebef; border-radius:14px; background:#fff; box-shadow:0 7px 24px rgba(20,33,58,.045); }
  .mobile-provider-row { width:100%; min-height:82px; display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:10px; padding:12px 4px; text-align:left; color:#14213a; background:#fff; border-bottom:1px solid #edf0f3; }
  .mobile-provider-row:last-child { border-bottom:0; }
  .provider-logo { width:48px; height:48px; display:grid; place-items:center; border-radius:13px; color:#fff; font-weight:900; font-size:16px; }
  .provider-logo.navy { background:#27517a; }.provider-logo.orange { background:#f97316; }.provider-logo.green { background:#2b9a87; }
  .provider-copy { min-width:0; display:flex; flex-direction:column; }
  .provider-copy small { color:#2b9a87; font-size:8px; font-weight:700; }
  .provider-copy strong { margin:3px 0 2px; color:#1d2a3f; font-size:12px; }
  .provider-copy span { overflow:hidden; color:#8a94a2; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
  .provider-score { display:flex; flex-direction:column; align-items:flex-end; }
  .provider-score b { color:#ef5e68; font-size:10px; }.provider-score small { margin-top:3px; color:#9aa2ad; font-size:7px; }

  .mobile-partner-banner { margin:2px 9px 24px; min-height:74px; padding:10px 11px; border-color:#e3e7ec; border-radius:13px; box-shadow:0 5px 16px rgba(20,33,58,.035); }
  .partner-shield { width:40px; height:42px; border-radius:12px; clip-path:none; color:#fff; background:linear-gradient(145deg,#2fa18d,#2878d0); font-size:20px; }
  .mobile-partner-banner strong { color:#1e2b40; font-size:10px; }.mobile-partner-banner small { color:#8b94a0; line-height:1.45; }
  .mobile-partner-banner button { min-height:37px; border-radius:8px; background:#14213a; }
  .mobile-safety-note { margin:0 10px 20px; padding:25px 20px; color:#14213a; background:#fff; border:1px solid #e5e8ec; border-radius:14px; box-shadow:0 7px 22px rgba(20,33,58,.04); }
  .mobile-safety-note > span { color:#f97316; }.mobile-safety-note h2 { color:#14213a; }.mobile-safety-note p { color:#778394; }.mobile-safety-note button { color:#f97316; }

  .mobile-bottom-nav { min-height:64px; padding-top:5px; border-color:#e4e7eb; box-shadow:0 -7px 22px rgba(20,33,58,.05); }
  .mobile-bottom-nav button { color:#a3aab3; }.mobile-bottom-nav button.active { color:#14213a; }.mobile-bottom-nav button:nth-child(3){color:#f97316}
  .bottom-quote-icon { width:29px; height:29px!important; border-radius:10px; background:#f97316; box-shadow:0 5px 12px rgba(249,115,22,.25); }

  .compact-hero { padding:49px 0 42px; color:#14213a; background:#fff; border-bottom:1px solid #edf0f3; }
  .compact-hero::after { color:#dfe4ea; opacity:.32; }
  .compact-hero h1 { color:#14213a; font-size:36px; }.compact-hero p { color:#7d8998; line-height:1.7; }
  .app-content { padding-top:26px; background:#f4f5f7; }
  .search-box { height:47px; border-color:#e3e7eb; border-radius:10px; box-shadow:0 4px 14px rgba(20,33,58,.025); }
  .filter-pills button { min-height:36px; border-color:#dfe3e8; color:#687588; background:#fff; }
  .filter-pills button.active { color:#fff; background:#14213a; border-color:#14213a; }
  .product-card { overflow:hidden; border-color:#e2e6ea; border-radius:14px; box-shadow:0 5px 18px rgba(20,33,58,.035); }
  .product-image { background:#eef1f3; }.product-info { color:#14213a; }.product-info h3,.product-info footer strong { color:#1d2a3f; }
  .vendor-list { gap:10px; }.vendor-list-card { border-color:#e1e5e9; border-radius:14px; box-shadow:0 5px 18px rgba(20,33,58,.035); }
  .vendor-list-card .button-primary { border-radius:8px; background:#14213a; }

  .dashboard-page { color:#14213a; background:#f4f5f7; }
  .dashboard-top { height:82px; padding:0 16px; border-color:#e6e9ed; }
  .user-chip > span { color:#14213a; background:#eef1f4; }.user-chip strong { color:#14213a; }
  .summary-grid article { border-color:#e2e6ea; border-radius:12px; box-shadow:0 4px 14px rgba(20,33,58,.03); }
  .request-card { overflow:hidden; border-color:#e1e5e9; border-radius:15px; box-shadow:0 7px 24px rgba(20,33,58,.04); }
  .request-stats { background:#f8f9f8; }.quote-row { color:#14213a; }.compare-actions { background:#f6f7f6; }
  .vendor-welcome { border-radius:15px; background:linear-gradient(135deg,#14213a,#203a55); box-shadow:0 10px 26px rgba(20,33,58,.13); }
  .lead-card { border-color:#e1e5e9; border-radius:14px; box-shadow:0 5px 18px rgba(20,33,58,.035); }.lead-card footer button { border-radius:8px; background:#14213a; }

  .quote-modal { color:#14213a; background:#fff; }
  .quote-progress { background:#fff; }.quote-modal form { background:#fff; }
  .choice-grid button { border-color:#e0e4e8; border-radius:10px; color:#657184; }
  .choice-grid button.selected { border-color:#f97316; color:#f97316; background:#fff6f1; }
  .quote-modal input,.quote-modal select,.quote-modal textarea { border-color:#e0e4e8; border-radius:9px; }
  .modal-actions { background:#fff; }
}

/* Final icon and drawer polish */
.mobile-quick-search .ui-icon,
.search-box .ui-icon {
  flex: 0 0 auto;
  color: #667085;
}
.mobile-brand-icon .ui-icon {
  width: 25px;
  height: 25px;
  stroke-width: 2.2;
}
.partner-shield .ui-icon {
  width: 21px;
  height: 21px;
}
.process-icon {
  display: inline-grid;
  place-items: center;
}
.process-icon .ui-icon {
  width: 34px;
  height: 34px;
  stroke-width: 1.7;
}
.mobile-bottom-nav .ui-icon {
  width: 20px;
  height: 20px;
  stroke-width: 1.85;
}
.mobile-bottom-nav button.active .ui-icon {
  stroke-width: 2.45;
}

@media (max-width: 680px) {
  .quote-cart-layer.open {
    display: block;
  }
  .quote-cart-drawer {
    left: 0;
    right: 0;
    width: 100%;
    max-width: none;
    box-shadow: 0 -18px 42px rgba(15,23,42,.18);
  }
  .quote-cart-drawer header {
    min-height: 74px;
    padding: 0 18px;
  }
  .quote-cart-body {
    padding: 16px 16px 104px;
  }
  .quote-cart-drawer footer {
    position: sticky;
    bottom: 0;
    padding: 14px 16px max(14px, env(safe-area-inset-bottom));
  }
  .quote-cart-fab {
    right: 18px;
    bottom: 82px;
    width: 56px;
    height: 56px;
  }
  .quote-cart-fab .ui-icon {
    width: 24px;
    height: 24px;
  }
  .mobile-bottom-nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr) !important;
    left: 50%;
    right: auto;
    width: 100%;
    max-width: 430px;
    min-height: 64px;
    transform: translateX(-50%);
  }
  .mobile-bottom-nav button {
    min-height: 64px;
    color: #a3aab3 !important;
  }
  .mobile-bottom-nav button.active {
    color: #f97316 !important;
  }
  .mobile-bottom-nav button:nth-child(3) {
    color: #a3aab3 !important;
  }
  .mobile-bottom-nav button:nth-child(3).active {
    color: #f97316 !important;
  }
  .mobile-bottom-nav button > span {
    height: 22px;
    display: grid;
    place-items: center;
  }
}

/* FitDeal design polish — calmer mobile platform system */
:root {
  --ink: #14213a;
  --ink-2: #1d2a3f;
  --paper: #f8fafc;
  --soft: #f1f5f9;
  --line: #e2e8f0;
  --muted: #64748b;
  --orange: #f97316;
  --orange-2: #ea580c;
  --green: #16a34a;
  --radius: 16px;
  --shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

body {
  color: #14213a;
  background: #f8fafc;
  font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.012em;
}

.container { width: min(calc(100% - 40px), var(--container)); }
.section-kicker,.eyebrow,.visual-topline,.form-heading > span {
  color: #f97316;
  font-family: Pretendard, "Noto Sans KR", sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
}

.button {
  min-height: 46px;
  border-radius: 12px;
  gap: 10px;
  font-size: 14px;
  font-weight: 800;
  box-shadow: none;
}
.button:hover { transform: none; }
.button-primary,.vendor-list-card .button-primary,.lead-card footer button,.mobile-partner-banner button {
  background: #14213a;
  color: #fff;
}
.button-accent {
  background: #f97316;
  color: #fff;
}
.button-ghost,.button-ghost-dark {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #14213a;
}

.site-header {
  background: rgba(255,255,255,.9);
  border-bottom-color: #eef2f7;
}
.brand { color:#14213a; }

.hero-shell {
  background: linear-gradient(180deg,#14213a 0%,#1d2a3f 100%);
}
.hero-copy h1 {
  line-height: 1.14;
  letter-spacing: -.055em;
}
.hero-copy > p {
  color: #cbd5e1;
  line-height: 1.72;
}
.quote-board,.vendor-preview-card,.vendor-list-card,.request-card,.summary-grid article,.lead-card,.checkout-summary-card,.checkout-form-card,.community-feed-card {
  border-color: #e2e8f0;
  border-radius: 16px;
  box-shadow: none;
}
.vendor-preview-card,.vendor-list-card,.request-card,.summary-grid article,.lead-card,.product-card,.community-feed-card,.quote-cart-item {
  background: #fff;
}
.vendor-preview-card:hover { transform:none; box-shadow:none; }
.company-logo {
  border-radius: 12px;
}
.company-logo.navy { background:#14213a; }
.company-logo.orange { background:#f97316; }
.company-logo.green { background:#16a34a; }
.tag,.line-badge {
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #f8fafc;
  color: #64748b;
}
.rating-line b,.accent-text { color:#f97316; }

.page-hero {
  background: #fff;
  color: #14213a;
  border-bottom: 1px solid #eef2f7;
}
.compact-hero {
  padding: 54px 0 44px;
}
.compact-hero::after {
  display: none;
}
.compact-hero h1 {
  color: #14213a;
  font-size: 38px;
  line-height: 1.18;
  letter-spacing: -.052em;
}
.compact-hero p {
  color: #64748b;
  line-height: 1.7;
}
.app-content {
  background: #f8fafc;
}

.toolbar {
  gap: 14px;
  margin-bottom: 24px;
}
.search-box {
  height: 48px;
  border-color: #e2e8f0;
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}
.filter-pills {
  gap: 8px;
}
.filter-pills button,.catalog-filter-row > div button,.community-category-tabs button {
  min-height: 36px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}
.filter-pills button.active,.catalog-filter-row > div button.active,.community-category-tabs button.active {
  border-color: #14213a;
  background: #14213a;
  color: #fff;
}
.result-line {
  color: #334155;
  font-size: 12px;
}
.result-line span { color:#94a3b8; }

.product-grid { gap: 12px; }
.product-card {
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  box-shadow: none;
}
.product-image.equipment-visual {
  height: 176px;
  overflow: hidden;
  background: linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
}
.product-image.equipment-visual > .favorite-heart-button {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 6;
  width: 32px;
  height: 32px;
  font-size: 15px;
}
.product-image.equipment-visual::before,
.product-image.equipment-visual::after {
  content: '';
  position: absolute;
  background: transparent;
  border-radius: 0;
}
.equipment-silhouette {
  position: relative;
  width: 86px;
  height: 72px;
  display: block;
  color: #475569;
  opacity: .88;
}
.equipment-silhouette::before,
.equipment-silhouette::after {
  content:'';
  position:absolute;
  display:block;
}
.equipment-visual.chest .equipment-silhouette {
  border: 7px solid currentColor;
  border-bottom-width: 12px;
  border-radius: 18px 18px 12px 12px;
}
.equipment-visual.chest .equipment-silhouette::before {
  left: 16px; right:16px; top: 22px; height: 7px; border-radius:999px; background:currentColor;
}
.equipment-visual.chest .equipment-silhouette::after {
  left: 33px; top: -24px; width: 16px; height: 32px; border-radius: 999px; background:currentColor;
}
.equipment-visual.back .equipment-silhouette {
  border-left: 9px solid currentColor;
  border-bottom: 10px solid currentColor;
  border-radius: 0 0 14px 14px;
  transform: skewX(-8deg);
}
.equipment-visual.back .equipment-silhouette::before {
  left: 14px; top: 12px; width: 58px; height: 9px; border-radius:999px; background:currentColor; transform:rotate(-16deg);
}
.equipment-visual.back .equipment-silhouette::after {
  right: 2px; bottom: 4px; width: 24px; height: 24px; border: 7px solid currentColor; border-radius:50%;
}
.equipment-visual.leg .equipment-silhouette {
  width: 98px;
  height: 72px;
  border-bottom: 12px solid currentColor;
}
.equipment-visual.leg .equipment-silhouette::before {
  right: 12px; bottom: 10px; width: 58px; height: 46px; border: 9px solid currentColor; border-radius: 14px; transform:skewX(-16deg);
}
.equipment-visual.leg .equipment-silhouette::after {
  left: 4px; bottom: 10px; width: 30px; height: 30px; border: 8px solid currentColor; border-radius:50%;
}
.equipment-visual.cardio .equipment-silhouette {
  width: 104px;
  height: 72px;
}
.equipment-visual.cardio .equipment-silhouette::before {
  left: 4px; bottom: 9px; width: 88px; height: 14px; border-radius: 999px 12px 12px 999px; background:currentColor; transform:skewX(-14deg);
}
.equipment-visual.cardio .equipment-silhouette::after {
  right: 8px; top: 7px; width: 9px; height: 54px; border-radius:999px; background:currentColor; transform:rotate(-16deg); box-shadow:-17px 3px 0 -2px currentColor;
}
.equipment-visual.freeweight .equipment-silhouette {
  width: 106px;
  height: 46px;
}
.equipment-visual.freeweight .equipment-silhouette::before {
  left: 24px; right:24px; top:18px; height:9px; border-radius:999px; background:currentColor;
}
.equipment-visual.freeweight .equipment-silhouette::after {
  left: 4px; top: 7px; width: 20px; height: 32px; border-radius:8px; background:currentColor; box-shadow:78px 0 0 currentColor, 22px 5px 0 -5px currentColor, 56px 5px 0 -5px currentColor;
}
.condition-tag {
  top: 10px;
  left: 10px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #14213a;
  color: #fff;
  font-family: Pretendard, "Noto Sans KR", sans-serif;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: -.01em;
  transform: none;
}
.product-image.equipment-visual > .condition-tag {
  position: absolute;
  z-index: 4;
  font-family: Pretendard, "Noto Sans KR", sans-serif;
  font-size: 9px;
  font-weight: 900;
  color: inherit;
  transform: none;
}
.product-image.equipment-visual > .condition-tag.condition-new { color:#15803d; }
.product-image.equipment-visual > .condition-tag.condition-used { color:#c2410c; }
.product-image.equipment-visual > .condition-tag.condition-refurbished { color:#4f46e5; }
.condition-tag.condition-used { background:#fff7ed; color:#c2410c; }
.condition-tag.condition-refurbished { background:#eef2ff; color:#4f46e5; }
.condition-tag.condition-new { background:#e9f8ef; color:#15803d; }
.product-info {
  padding: 14px;
}
.product-info small {
  color: #f97316;
  font-family: Pretendard, "Noto Sans KR", sans-serif;
  font-size: 11px;
  font-weight: 900;
}
.product-info h3 {
  min-height: 38px;
  margin: 8px 0 5px;
  color: #14213a;
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: -.035em;
}
.product-info p {
  margin-bottom: 10px;
  color: #64748b;
  font-size: 11px;
}
.product-meta {
  min-height: 42px;
  margin: 10px 0 12px;
}
.product-meta span {
  color: #14213a;
  font-size: 11px;
}
.product-info footer {
  align-items: stretch;
  flex-direction: column;
  gap: 9px;
  padding-top: 12px;
}
.product-info footer strong {
  color: #64748b;
  font-size: 10px;
}
.product-info footer button {
  min-height: 38px;
  border-radius: 10px;
  background: #14213a;
  color: #fff;
  font-size: 12px;
}

.live-tag,.verified-badge,.lead-badge,.community-category-badge,.community-trade-box strong span {
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}
.live-tag,.verified-badge {
  background: #e9f8ef;
  color: #15803d;
}
.lead-badge,.community-category-badge {
  background: #fff7ed;
  color: #c2410c;
}
.request-card-head h3,.dash-section-heading h2 {
  color:#14213a;
  letter-spacing:-.035em;
}
.request-stats {
  background: #f8fafc;
}
.quote-select { accent-color:#f97316; }
.compare-actions {
  background:#f8fafc;
}

.quote-cart-fab {
  right: 20px;
  bottom: 84px;
  width: 52px;
  height: 52px;
  background: #14213a;
  box-shadow: 0 10px 22px rgba(15,23,42,.16);
}
.quote-cart-fab b {
  right: -2px;
  top: -3px;
  min-width: 22px;
  height: 22px;
  border-width: 2px;
  background: #f97316;
  font-size: 9px;
}
.quote-cart-drawer {
  box-shadow: -12px 0 32px rgba(15,23,42,.12);
}

.community-category-sticky {
  background: rgba(248,250,252,.94);
}
.community-feed-card {
  border-bottom: 1px solid #e2e8f0;
}
.community-write-fab {
  width: 54px;
  height: 54px;
  background:#f97316;
  box-shadow:0 10px 22px rgba(249,115,22,.2);
}

@media (max-width: 680px) {
  .container { width: calc(100% - 40px); }
  .header-inner { padding: 0 20px; }
  .mobile-quick-search { margin-left: 14px; border-radius: 14px; }
  .mobile-intro {
    min-height: 118px;
    padding: 18px 20px 16px;
  }
  .mobile-intro h1 {
    font-size: 24px;
    line-height: 1.36;
    letter-spacing: -.052em;
  }
  .mobile-overline {
    color: #f97316;
    font-size: 10px;
  }
  .mobile-intent-tabs,
  .mobile-promo-banner,
  .mobile-provider-card,
  .mobile-partner-banner,
  .mobile-safety-note {
    margin-left: 20px;
    margin-right: 20px;
  }
  .mobile-brand-shortcuts {
    padding: 22px 20px 18px;
  }
  .mobile-brand-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    box-shadow: none;
  }
  .mobile-section-title {
    padding-left: 20px;
    padding-right: 20px;
  }
  .mobile-provider-card,
  .mobile-partner-banner,
  .mobile-safety-note {
    border-radius: 16px;
    box-shadow: none;
  }
  .compact-hero {
    padding: 38px 0 28px;
  }
  .compact-hero h1 {
    font-size: 30px;
    line-height: 1.24;
  }
  .compact-hero p {
    font-size: 13px;
  }
  .app-content {
    padding: 22px 20px 96px;
  }
  .app-content.container {
    width: 100%;
  }
  .toolbar {
    margin-bottom: 18px;
  }
  .catalog-filter-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
  .catalog-filter-row > span {
    width: auto;
    padding-left: 2px;
  }
  .catalog-filter-row > div {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 2px;
  }
  .product-grid {
    gap: 12px;
  }
  .product-image.equipment-visual {
    height: 126px;
  }
  .equipment-silhouette {
    transform: scale(.82);
  }
  .product-info {
    padding: 12px;
  }
  .product-info h3 {
    min-height: 36px;
    font-size: 13px;
  }
  .product-info footer {
    gap: 8px;
  }
  .dashboard-top {
    padding: 0 20px;
  }
  .dashboard-content {
    padding: 20px 20px 92px;
  }
  .summary-grid {
    gap: 10px;
  }
  .summary-grid article,.request-card {
    border-radius: 16px;
    box-shadow: none;
  }
  .request-card-head {
    padding: 18px 16px;
  }
  .quote-cart-fab {
    right: 20px;
    bottom: 82px;
    width: 50px;
    height: 50px;
  }
  .community-content {
    padding-left: 20px;
    padding-right: 20px;
  }
  .community-category-sticky {
    top: 60px;
  }
  .community-write-fab {
    right: 20px;
    bottom: 90px;
    width: 52px;
    height: 52px;
  }
  .mobile-bottom-nav {
    border-color:#e2e8f0;
    box-shadow:0 -6px 18px rgba(15,23,42,.05);
  }
}

/* Product catalog filter/card refinement */
.brand-explorer {
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}
.brandhall-search-row {
  margin-bottom: 14px;
}
.brandhall-search-row .search-box {
  width: 100%;
}
.brand-explorer-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}
.brand-explorer-head span {
  color: #f97316;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}
.brand-explorer-head h2 {
  margin: 4px 0 0;
  color: #14213a;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -.04em;
}
.brand-explorer-head button {
  min-height: 34px;
  flex: 0 0 auto;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 0 12px;
  background: #fff;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}
.brand-explorer-head button.active {
  border-color: #14213a;
  background: #14213a;
  color: #fff;
}
.brand-group + .brand-group {
  margin-top: 18px;
}
.brand-group h3 {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}
.brand-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}
.brand-card-shell {
  position: relative;
  min-width: 0;
}
.brand-card {
  width: 100%;
  min-width: 0;
  min-height: 78px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #f8fafc;
  color: #14213a;
}
.brand-card span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #fff;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: -.03em;
}
.brand-card strong {
  max-width: 100%;
  overflow: hidden;
  color: #334155;
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.brand-card.selected {
  border-color: #f97316;
  background: #fff7ed;
  box-shadow: inset 0 0 0 1px rgba(249,115,22,.18);
}
.brand-card.selected span {
  background: #f97316;
  color: #fff;
}
.brand-card.selected strong {
  color: #c2410c;
}
.favorite-heart-button {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(148, 163, 184, .28);
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  color: #64748b;
  box-shadow: 0 6px 16px rgba(15, 23, 42, .08);
  font-size: 17px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, color .16s ease, background .16s ease;
}
.favorite-heart-button:hover {
  transform: translateY(-1px);
  border-color: rgba(249, 115, 22, .38);
  color: #f97316;
}
.favorite-heart-button.active {
  border-color: rgba(249, 115, 22, .35);
  background: #fff7ed;
  color: #f97316;
}
.brand-card-shell > .favorite-heart-button {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 5;
  width: 30px;
  height: 30px;
  font-size: 15px;
}
.catalog-discovery-section {
  margin-top: 18px;
}
.catalog-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.catalog-section-head span {
  color: #f97316;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}
.catalog-section-head h2 {
  margin: 4px 0 0;
  color: #14213a;
  font-size: 20px;
  line-height: 1.25;
  letter-spacing: -.04em;
}
.catalog-section-head p {
  max-width: 260px;
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.55;
  text-align: right;
}
.catalog-filter-card {
  margin-bottom: 12px;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}
.product-brand-line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.product-brand-line .line-badge {
  margin-top: 0;
}
.brand-line-dot {
  color: #cbd5e1;
  font-weight: 900;
}
.catalog-filter-row.line-filter-row {
  animation: pageIn .2s ease;
}
.line-filter-hint {
  min-height: 42px;
  align-items: center;
}
.line-filter-hint p {
  margin: 0;
  color: #94a3b8;
  font-size: 12px;
  font-weight: 700;
}
.filter-pills,
.catalog-filter-row > div {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.filter-pills::-webkit-scrollbar,
.catalog-filter-row > div::-webkit-scrollbar {
  display: none;
}
.condition-tag {
  top: 8px;
  left: 8px;
  padding: 3px 7px;
  font-size: 9px;
  line-height: 1.15;
  box-shadow: 0 1px 0 rgba(15,23,42,.04);
}
.product-image.equipment-visual {
  align-items: center;
  justify-items: center;
}
.equipment-silhouette {
  opacity: .94;
}
.product-meta {
  gap: 2px;
}
.product-meta em + em {
  color: #16a34a;
  font-weight: 800;
}
.quote-cart-fab {
  bottom: 88px;
}
.quote-cart-fab b {
  right: -7px;
  top: -6px;
  min-width: 30px;
  height: 22px;
  padding: 0 6px;
  font-size: 9px;
  letter-spacing: -.03em;
}

@media (max-width: 680px) {
  .brand-explorer {
    margin: 0 0 16px;
    padding: 16px 14px;
    border-radius: 18px;
  }
  .brand-explorer-head {
    align-items: flex-start;
    margin-bottom: 14px;
  }
  .brand-explorer-head h2 {
    font-size: 17px;
  }
  .brand-card-grid {
    gap: 8px;
  }
  .brand-card {
    min-height: 72px;
    border-radius: 15px;
  }
  .brand-card span {
    width: 32px;
    height: 32px;
    border-radius: 11px;
    font-size: 10px;
  }
  .brand-card strong {
    font-size: 10px;
  }
  .brandhall-search-row {
    margin-bottom: 12px;
  }
  .catalog-discovery-section {
    margin-top: 16px;
  }
  .catalog-section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .catalog-section-head h2 {
    font-size: 18px;
  }
  .catalog-section-head p {
    max-width: none;
    font-size: 11px;
    text-align: left;
  }
  .catalog-filter-card {
    padding: 12px;
  }
  .filter-pills {
    overflow: visible;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px;
  }
  .catalog-filter-row > div {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .catalog-filter-row > div button {
    flex: 0 0 auto;
  }
  .condition-tag {
    top: 7px;
    left: 7px;
    padding: 3px 6px;
    font-size: 8px;
  }
  .product-image.equipment-visual > .condition-tag {
    font-size: 8px;
  }
  .product-image.equipment-visual {
    height: 132px;
  }
  .equipment-silhouette {
    transform: scale(.9);
  }
  .product-meta em + em {
    font-size: 10px;
  }
  .quote-cart-fab {
    right: 18px;
    bottom: 90px;
  }
}

/* Community structure — category, notice, HOT and latest feed */
.community-screen-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.community-screen-head span {
  color: #f97316;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}
.community-screen-head h2 {
  margin: 4px 0 0;
  color: #14213a;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -.045em;
}
.community-head-icons {
  display: flex;
  gap: 8px;
}
.community-head-icons button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #e2e8f0;
  border-radius: 13px;
  background: #fff;
  color: #64748b;
}
.community-head-icons .ui-icon {
  width: 19px;
  height: 19px;
}
.community-content .community-category-tabs {
  margin: 0 -20px 14px;
  padding: 0 20px 2px;
  border-bottom: 0;
  background: transparent;
  scrollbar-width: none;
}
.community-content .community-category-tabs::-webkit-scrollbar {
  display: none;
}
.community-content .community-category-tabs button {
  border-color: transparent;
  background: transparent;
  color: #64748b;
  padding: 0 4px;
  font-size: 14px;
}
.community-content .community-category-tabs button.active {
  border-color: #14213a;
  background: #14213a;
  color: #fff;
  padding: 0 14px;
}
.community-notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
  padding: 13px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #fff;
}
.community-notice p {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #334155;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.community-notice p span {
  color: #f97316;
}
.community-notice button,
.community-section-head button {
  flex: 0 0 auto;
  background: transparent;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 900;
}
.community-section + .community-section {
  margin-top: 24px;
}
.community-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.community-section-head h3 {
  margin: 0;
  color: #14213a;
  font-size: 18px;
  letter-spacing: -.04em;
}
.community-hot-list {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  margin: 0 -20px;
  padding: 0 20px 4px;
  scrollbar-width: none;
}
.community-hot-list::-webkit-scrollbar {
  display: none;
}
.community-hot-card {
  width: 154px;
  flex: 0 0 154px;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
}
.community-hot-thumb {
  height: 92px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg,#14213a,#f97316);
}
.community-hot-thumb span {
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -.04em;
}
.community-hot-card .community-category-badge {
  margin-top: 0;
  padding: 4px 7px;
  font-size: 10px;
}
.community-hot-card h4 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 8px 0 0;
  min-height: 38px;
  color: #14213a;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: -.03em;
}
.community-latest-list {
  display: grid;
  gap: 10px;
}
.community-latest-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 15px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
}
.community-latest-copy {
  min-width: 0;
}
.community-latest-item .community-category-badge {
  margin-top: 0;
  padding: 4px 7px;
  font-size: 10px;
}
.community-latest-item h4 {
  margin: 8px 0 5px;
  overflow: hidden;
  color: #14213a;
  font-size: 15px;
  line-height: 1.38;
  letter-spacing: -.035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.community-latest-meta,
.community-trade-line {
  margin: 0;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 700;
}
.community-trade-line {
  margin-bottom: 5px;
  color: #64748b;
  white-space: normal;
}
.community-trade-line b {
  color: #f97316;
}
.community-latest-thumb {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #64748b;
  background: #f1f5f9;
  font-size: 12px;
  font-weight: 900;
}
.community-empty-inline {
  min-width: 260px;
  padding: 18px;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  color: #94a3b8;
  background: #fff;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 680px) {
  .community-content {
    padding-top: 20px;
  }
  .community-screen-head h2 {
    font-size: 23px;
  }
  .community-head-icons button {
    width: 36px;
    height: 36px;
  }
  .community-write-fab {
    right: 20px;
    bottom: 88px;
    width: 52px;
    height: 52px;
    box-shadow: 0 10px 22px rgba(249,115,22,.2);
  }
}

/* Brand detail page */
.brand-detail-content {
  padding-top: 24px;
}
.brand-back-button {
  min-height: 38px;
  margin-bottom: 14px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}
.brand-detail-hero {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
  padding: 20px;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: linear-gradient(135deg, #14213a 0%, #1f2937 66%, #f97316 140%);
  color: #fff;
}
.brand-detail-hero > .favorite-heart-button {
  align-self: start;
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.24);
  color: rgba(255,255,255,.86);
  box-shadow: none;
}
.brand-detail-hero > .favorite-heart-button.active {
  background: #fff7ed;
  border-color: rgba(249,115,22,.42);
  color: #f97316;
}
.brand-detail-logo {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -.04em;
}
.brand-detail-copy span,
.brand-detail-section-head span {
  color: #f97316;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
}
.brand-detail-copy h1 {
  margin: 4px 0 6px;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -.05em;
}
.brand-detail-copy p {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  font-weight: 700;
}
.brand-detail-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 13px;
}
.brand-detail-metrics b {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.11);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}
.brand-catalog-search-card {
  display: grid;
  grid-template-columns: 1fr 190px;
  gap: 10px;
  margin-bottom: 14px;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}
.brand-catalog-search-card .search-box {
  width: 100%;
  border-radius: 13px;
  background: #f8fafc;
}
.brand-sort-select {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.brand-sort-select span {
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
}
.brand-sort-select select,
.brand-line-compact select {
  width: 100%;
  min-height: 46px;
  border: 1px solid #e2e8f0;
  border-radius: 13px;
  background: #f8fafc;
  color: #14213a;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 900;
}
.brand-detail-panel {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}
.brand-detail-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.brand-detail-section-head h2 {
  margin: 4px 0 0;
  color: #14213a;
  font-size: 18px;
  letter-spacing: -.04em;
}
.brand-detail-section-head small {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 900;
}
.brand-detail-filters {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  overflow: hidden;
}
.brand-filter-card-grid {
  min-width: 0;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}
.brand-filter-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.brand-filter-title span {
  color: #14213a;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: -.03em;
}
.brand-filter-title small {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 800;
}
.brand-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.brand-filter-grid button {
  min-width: 0;
  min-height: 76px;
  display: grid;
  place-items: center;
  gap: 6px;
  padding: 9px 6px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #fff;
  color: #334155;
  text-align: center;
}
.brand-filter-grid button i {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: #f1f5f9;
  color: #64748b;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
  letter-spacing: -.04em;
}
.brand-filter-grid button strong {
  max-width: 100%;
  overflow: hidden;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.brand-filter-grid button.active {
  border-color: #f97316;
  background: #fff7ed;
  box-shadow: inset 0 0 0 1px rgba(249,115,22,.15);
}
.brand-filter-grid button.active i {
  background: #14213a;
  color: #fff;
}
.brand-filter-grid button.active strong {
  color: #c2410c;
}
.brand-equipment-type-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.brand-equipment-type-grid button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
}
.brand-equipment-type-grid button.active {
  border-color: #f97316;
  background: #fff7ed;
  color: #c2410c;
  box-shadow: inset 0 0 0 1px rgba(249,115,22,.12);
}
.brand-line-compact {
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}
.brand-line-compact label {
  display: grid;
  gap: 8px;
}
.brand-line-compact span {
  color: #14213a;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: -.03em;
}
.brand-selected-summary {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 5px 10px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #fed7aa;
  border-radius: 16px;
  background: #fff7ed;
}
.brand-selected-summary span {
  grid-column: 1 / -1;
  color: #c2410c;
  font-size: 10px;
  font-weight: 950;
}
.brand-selected-summary strong {
  min-width: 0;
  color: #14213a;
  font-size: 12px;
  line-height: 1.45;
}
.brand-selected-summary button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid #fdba74;
  border-radius: 999px;
  background: #fff;
  color: #c2410c;
  font-size: 10px;
  font-weight: 900;
}
.brand-product-grid {
  grid-template-columns: repeat(3, 1fr);
}
.brand-used-list,
.brand-vendor-list {
  display: grid;
  gap: 10px;
}
.brand-used-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #f8fafc;
}
.brand-used-card .condition-tag {
  position: static;
  display: inline-flex;
  margin-bottom: 7px;
}
.brand-used-card h3 {
  margin: 0 0 5px;
  color: #14213a;
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: -.035em;
}
.brand-used-card p {
  margin: 0;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}
.brand-used-card strong {
  display: block;
  color: #14213a;
  font-size: 13px;
  white-space: nowrap;
}
.brand-used-card small {
  display: block;
  margin-top: 5px;
  color: #f97316;
  font-size: 10px;
  font-weight: 900;
  text-align: right;
}
.brand-vendor-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
}
.brand-vendor-card .vendor-card-top {
  align-items: flex-start;
}
.brand-vendor-card .vendor-card-top p {
  margin: 4px 0 0;
  color: #64748b;
  font-size: 11px;
}
.brand-vendor-card .button {
  min-height: 38px;
  border-radius: 11px;
}
.brand-empty {
  min-height: 130px;
}
.clickable-vendor-card {
  cursor: pointer;
  transition: border-color .18s ease, transform .18s ease;
}
.clickable-vendor-card:hover {
  border-color: #cbd5e1;
}
.vendor-detail-content,
.vendor-equipment-content {
  padding-top: 24px;
}
.vendor-detail-shell {
  display: grid;
  gap: 14px;
}
.vendor-detail-profile,
.vendor-equipment-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;
  padding: 20px;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: linear-gradient(135deg, #14213a 0%, #1f2937 66%, #f97316 140%);
  color: #fff;
}
.vendor-detail-logo {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  font-size: 18px;
}
.vendor-detail-profile span {
  color: #f97316;
  font-size: 10px;
  font-weight: 900;
}
.vendor-detail-profile h1 {
  margin: 4px 0 6px;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -.05em;
}
.vendor-detail-profile p {
  margin: 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.55;
}
.vendor-detail-brand-tags .tag {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: 10px;
  font-weight: 800;
}
.vendor-detail-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 14px;
}
.vendor-detail-actions .button {
  min-height: 42px;
  border-radius: 12px;
}
.vendor-equipment-filters {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}
.vendor-brand-filter {
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}
.vendor-brand-filter > span {
  display: block;
  margin-bottom: 10px;
  color: #14213a;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: -.03em;
}
.vendor-brand-filter > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.vendor-brand-filter button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #475569;
  font-size: 11px;
  font-weight: 850;
}
.vendor-brand-filter button.active {
  border-color: #f97316;
  background: #fff7ed;
  color: #c2410c;
  box-shadow: inset 0 0 0 1px rgba(249,115,22,.14);
}
.vendor-equipment-filter-hint {
  margin: 0;
  padding: 13px 14px;
  border: 1px dashed #cbd5e1;
  border-radius: 16px;
  background: #f8fafc;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.vendor-equipment-card .product-info {
  display: flex;
  flex-direction: column;
  min-height: 252px;
}
.vendor-equipment-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #e2e8f0;
}
.vendor-equipment-actions button {
  min-height: 36px;
  border-radius: 11px;
  font-size: 10px;
  font-weight: 900;
}
.vendor-equipment-actions button:not(.vendor-equipment-detail-button) {
  background: #f97316;
  color: #fff;
}
.vendor-equipment-detail-button {
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #14213a;
}

@media (max-width: 680px) {
  .brand-detail-content {
    padding: 18px 20px 98px;
  }
  .brand-detail-hero {
    grid-template-columns: auto 1fr auto;
    gap: 13px;
    align-items: start;
    padding: 18px;
  }
  .brand-detail-copy {
    min-width: 0;
  }
  .brand-detail-logo {
    width: 56px;
    height: 56px;
    border-radius: 16px;
  }
  .brand-detail-copy h1 {
    font-size: 24px;
  }
  .brand-detail-metrics {
    gap: 6px;
  }
  .brand-catalog-search-card {
    grid-template-columns: 1fr;
    padding: 12px;
    border-radius: 18px;
  }
  .brand-detail-panel {
    padding: 15px;
    border-radius: 18px;
  }
  .brand-detail-section-head h2 {
    font-size: 17px;
  }
  .brand-product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .brand-used-card {
    align-items: flex-start;
  }
  .brand-filter-card-grid {
    padding: 12px;
    border-radius: 16px;
  }
  .brand-filter-title {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .brand-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .brand-filter-grid button {
    min-height: 70px;
    border-radius: 14px;
  }
  .brand-filter-grid button strong {
    font-size: 10px;
  }
  .brand-equipment-type-grid button {
    min-height: 33px;
    padding-inline: 10px;
    font-size: 10px;
  }
  .brand-selected-summary {
    grid-template-columns: 1fr;
  }
  .brand-selected-summary button {
    width: fit-content;
  }
  .vendor-detail-content,
  .vendor-equipment-content {
    padding: 18px 20px 98px;
  }
  .vendor-detail-profile,
  .vendor-equipment-hero {
    grid-template-columns: 1fr;
    gap: 13px;
    padding: 18px;
  }
  .vendor-detail-logo {
    width: 56px;
    height: 56px;
    border-radius: 16px;
  }
  .vendor-detail-profile h1 {
    font-size: 24px;
  }
  .vendor-detail-actions {
    grid-template-columns: 1fr;
  }
  .vendor-equipment-card .product-info {
    min-height: 270px;
  }
}

/* Equipment detail page + quote cart bottom sheet */
.clickable-product-card {
  cursor: pointer;
}
.clickable-product-card:hover {
  border-color: #cbd5e1;
}
.equipment-detail-content {
  padding-top: 24px;
}
.equipment-detail-shell {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) 1.1fr;
  gap: 18px;
  align-items: stretch;
}
.equipment-gallery {
  min-width: 0;
  display: grid;
  gap: 10px;
}
.equipment-gallery-hero {
  align-self: start;
}
.equipment-detail-visual {
  min-height: 430px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
}
.equipment-detail-visual .equipment-silhouette {
  transform: scale(1.65);
}
.equipment-detail-main {
  padding: 22px;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: #fff;
}
.equipment-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.equipment-title-row .favorite-heart-button {
  flex: 0 0 auto;
  margin-top: 8px;
}
.equipment-detail-main h1 {
  margin: 12px 0 8px;
  color: #14213a;
  font-size: 28px;
  line-height: 1.22;
  letter-spacing: -.052em;
}
.equipment-detail-main > p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}
.equipment-detail-price {
  margin: 18px 0;
  padding: 15px;
  border-radius: 16px;
  background: #fff7ed;
  color: #c2410c;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -.035em;
}
.equipment-detail-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
.equipment-detail-stats div {
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #f8fafc;
}
.equipment-detail-stats span,
.equipment-quantity-row span {
  display: block;
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
}
.equipment-detail-stats strong,
.equipment-quantity-row strong {
  display: block;
  margin-top: 5px;
  color: #14213a;
  font-size: 14px;
}
.equipment-quantity-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
}
.detail-quantity-controls {
  display: flex;
  align-items: center;
}
.detail-quantity-controls button,
.detail-quantity-controls output {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #dfe4ea;
  background: #fff;
  color: #14213a;
  font-weight: 900;
}
.detail-quantity-controls button:first-child {
  border-radius: 12px 0 0 12px;
}
.detail-quantity-controls button:last-child {
  border-radius: 0 12px 12px 0;
}
.detail-quantity-controls output {
  border-inline: 0;
}
.equipment-detail-actions {
  display: grid;
  gap: 9px;
}
.equipment-detail-actions .button {
  min-height: 48px;
  border-radius: 14px;
}
.equipment-detail-tabs-card {
  grid-column: 1 / -1;
  padding: 18px;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  background: #fff;
}
.equipment-detail-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 16px;
  padding: 5px;
  border-radius: 16px;
  background: #f1f5f9;
}
.equipment-detail-tabs button {
  min-height: 42px;
  border-radius: 12px;
  background: transparent;
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
}
.equipment-detail-tabs button.active {
  background: #14213a;
  color: #fff;
  box-shadow: 0 6px 14px rgba(20,33,58,.1);
}
.equipment-tab-panel {
  animation: pageIn .18s ease;
}
.equipment-image-panel {
  display: grid;
  gap: 12px;
}
.equipment-main-image {
  width: 100%;
  min-height: 300px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);
  text-align: center;
  cursor: zoom-in;
}
.equipment-gallery-hero .equipment-main-image {
  min-height: 430px;
}
.equipment-main-image img,
.equipment-thumbnail-row img,
.equipment-modal-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.equipment-main-image > span {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #14213a;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}
.equipment-main-image .equipment-silhouette {
  transform: scale(1.34);
}
.equipment-main-image p {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 35px;
  margin: 0;
  color: #14213a;
  font-size: 15px;
  font-weight: 950;
  letter-spacing: -.035em;
}
.equipment-main-image small {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 800;
}
.equipment-thumbnail-row {
  display: flex;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.equipment-thumbnail-row::-webkit-scrollbar {
  display: none;
}
.equipment-thumbnail-row button {
  flex: 0 0 86px;
  min-height: 78px;
  display: grid;
  gap: 5px;
  place-items: center;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #f8fafc;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
}
.equipment-thumbnail-row button.active {
  border-color: #f97316;
  background: #fff7ed;
  color: #c2410c;
}
.equipment-options-card {
  display: grid;
  gap: 13px;
  margin: 18px 0;
  padding: 15px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}
.equipment-options-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}
.equipment-options-head span {
  color: #f97316;
  font-size: 10px;
  font-weight: 950;
}
.equipment-options-head h2 {
  margin: 4px 0 0;
  color: #14213a;
  font-size: 17px;
  letter-spacing: -.04em;
}
.equipment-options-head small {
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}
.equipment-option-groups {
  display: grid;
  gap: 12px;
}
.equipment-option-group {
  display: grid;
  gap: 8px;
}
.equipment-option-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.equipment-option-title strong {
  color: #14213a;
  font-size: 13px;
}
.equipment-option-title span {
  padding: 4px 7px;
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  font-size: 9px;
  font-weight: 900;
}
.equipment-option-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.option-type-color .equipment-option-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.equipment-option-list button {
  min-width: 0;
  min-height: 58px;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 4px;
  padding: 10px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #fff;
  color: #334155;
  text-align: left;
}
.equipment-option-list button.selected {
  border-color: #f97316;
  background: #fff7ed;
  box-shadow: inset 0 0 0 1px rgba(249,115,22,.14);
}
.equipment-option-list button:disabled {
  opacity: .45;
}
.equipment-option-list button strong {
  font-size: 11px;
  line-height: 1.25;
}
.equipment-option-list button small {
  color: #94a3b8;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.25;
}
.option-swatch {
  width: 22px;
  height: 22px;
  display: inline-block;
  border: 1px solid rgba(15,23,42,.16);
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.58);
}
.equipment-option-price-note,
.cart-price-note {
  margin: 0;
  padding: 11px 12px;
  border-radius: 14px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.5;
}
.equipment-mini-visual {
  width: 42px;
  height: 30px;
  border-radius: 10px;
  background: linear-gradient(135deg,#e2e8f0,#f8fafc);
}
.equipment-spec-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.equipment-spec-diagram {
  display: grid;
  gap: 10px;
}
.diagram-card {
  min-height: 138px;
  position: relative;
  overflow: hidden;
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}
.diagram-card span {
  color: #f97316;
  font-size: 10px;
  font-weight: 950;
}
.diagram-card i {
  display: block;
  width: 74%;
  height: 52px;
  margin: 20px auto 14px;
  border: 4px solid #94a3b8;
  border-radius: 18px 18px 10px 10px;
  background: rgba(255,255,255,.55);
}
.diagram-side i {
  width: 86%;
  height: 40px;
  border-radius: 999px 16px 16px 999px;
}
.diagram-card b,
.diagram-card em {
  display: block;
  color: #14213a;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.diagram-card em {
  margin-top: 4px;
  color: #64748b;
  font-size: 11px;
}
.equipment-spec-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin: 0;
}
.equipment-spec-list div {
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #fff;
}
.equipment-spec-list dt {
  color: #94a3b8;
  font-size: 10px;
  font-weight: 900;
}
.equipment-spec-list dd {
  margin: 5px 0 0;
  color: #14213a;
  font-size: 14px;
  font-weight: 950;
}
.equipment-color-panel {
  display: grid;
  grid-template-columns: .85fr 1fr;
  gap: 14px;
  align-items: start;
}
.color-preview {
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
  text-align: center;
}
.color-preview-machine {
  width: 160px;
  height: 128px;
  position: relative;
  margin: 4px auto 12px;
}
.color-preview-machine i {
  position: absolute;
  inset: 22px 22px 18px;
  border: 11px solid var(--frame);
  border-radius: 18px 18px 10px 10px;
}
.color-preview-machine b {
  position: absolute;
  right: 28px;
  bottom: 18px;
  width: 72px;
  height: 24px;
  border-radius: 10px;
  background: var(--seat);
  box-shadow: 0 10px 0 color-mix(in srgb, var(--seat), #000 12%);
}
.color-preview p {
  margin: 0;
  display: grid;
  gap: 3px;
}
.color-preview strong {
  color: #14213a;
  font-size: 14px;
}
.color-preview span {
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}
.color-swatch-group {
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}
.color-swatch-group + .color-swatch-group {
  margin-top: 10px;
}
.color-swatch-group h3 {
  margin: 0 0 10px;
  color: #14213a;
  font-size: 14px;
  letter-spacing: -.03em;
}
.color-swatch-group > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.color-swatch-group button {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #fff;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
}
.color-swatch-group button.selected {
  border-color: #f97316;
  background: #fff7ed;
  color: #c2410c;
}
.color-swatch-group button i {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(15,23,42,.15);
  border-radius: 50%;
}
.equipment-technical-panel {
  display: grid;
  gap: 12px;
}
.technical-note {
  margin: 0;
  padding: 13px 14px;
  border-radius: 15px;
  background: #fff7ed;
  color: #9a3412;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.55;
}
.quote-cart-layer.open {
  display: block;
}
.quote-cart-backdrop {
  background: rgba(15,23,42,.42);
}
.quote-cart-drawer {
  inset: auto auto 0 50%;
  width: min(430px, 100%);
  max-height: min(82vh, 720px);
  border-radius: 24px 24px 0 0;
  overflow: hidden;
  transform: translateX(-50%);
  box-shadow: 0 -18px 42px rgba(15,23,42,.18);
}
.quote-cart-drawer::before {
  content: '';
  width: 38px;
  height: 4px;
  display: block;
  margin: 10px auto 0;
  border-radius: 999px;
  background: #d7dde5;
}
.quote-cart-drawer header {
  min-height: 68px;
}
.quote-cart-body {
  max-height: calc(82vh - 182px);
}
.cart-empty p strong {
  color: #14213a;
  font-size: 14px;
}
.cart-option-summary {
  display: grid;
  gap: 4px;
  margin: 8px 0 0;
  padding: 8px 10px;
  border-radius: 12px;
  background: #f8fafc;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
  list-style: none;
}
.cart-option-summary li {
  min-width: 0;
}
.quote-cart-summary .cart-price-note {
  grid-column: 1 / -1;
  background: #fff7ed;
}
.equipment-image-modal {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(760px, calc(100% - 28px));
  max-height: 88vh;
  transform: translate(-50%, -50%);
  padding: 16px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(15,23,42,.28);
}
.equipment-image-modal .icon-button {
  position: absolute;
  top: 8px;
  right: 12px;
  z-index: 2;
  color: #fff;
}
.equipment-modal-image {
  min-height: 420px;
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  background: linear-gradient(180deg,#f8fafc 0%,#e2e8f0 100%);
  text-align: center;
}
.equipment-modal-image .equipment-silhouette {
  transform: scale(1.55);
}
.equipment-modal-image p {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 42px;
  margin: 0;
  color: #14213a;
  font-size: 18px;
  font-weight: 950;
}
.equipment-modal-image small,
.equipment-image-modal > div + strong,
.equipment-image-modal span {
  display: block;
}
.equipment-image-modal strong {
  margin-top: 12px;
  color: #14213a;
  font-size: 16px;
}
.equipment-image-modal span {
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 680px) {
  .equipment-detail-content {
    padding: 18px 20px 98px;
  }
  .equipment-detail-shell {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .equipment-gallery-hero .equipment-main-image,
  .equipment-detail-visual {
    min-height: 250px;
    border-radius: 20px;
  }
  .equipment-detail-visual .equipment-silhouette {
    transform: scale(1.18);
  }
  .equipment-detail-main {
    padding: 18px;
    border-radius: 20px;
  }
  .equipment-detail-main h1 {
    font-size: 24px;
  }
  .equipment-detail-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .equipment-detail-tabs-card {
    padding: 14px;
    border-radius: 20px;
  }
  .equipment-detail-tabs {
    gap: 6px;
    margin-bottom: 13px;
  }
  .equipment-detail-tabs button {
    min-height: 40px;
    font-size: 12px;
  }
  .equipment-main-image {
    min-height: 230px;
    border-radius: 18px;
  }
  .equipment-main-image .equipment-silhouette {
    transform: scale(1.05);
  }
  .equipment-thumbnail-row {
    gap: 6px;
  }
  .equipment-thumbnail-row button {
    flex-basis: 74px;
    min-height: 68px;
    border-radius: 13px;
    font-size: 10px;
  }
  .equipment-mini-visual {
    width: 34px;
    height: 25px;
  }
  .equipment-spec-panel,
  .equipment-color-panel {
    grid-template-columns: 1fr;
  }
  .equipment-spec-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .equipment-options-card {
    padding: 13px;
    border-radius: 17px;
  }
  .equipment-options-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
  .equipment-option-list,
  .option-type-color .equipment-option-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .equipment-option-list button {
    min-height: 56px;
    padding: 9px;
  }
  .equipment-option-list button strong {
    font-size: 10px;
  }
  .equipment-image-modal {
    width: calc(100% - 24px);
    padding: 12px;
    border-radius: 22px;
  }
  .equipment-modal-image {
    min-height: 300px;
  }
  .diagram-card {
    min-height: 122px;
  }
  .color-preview-machine {
    width: 142px;
    height: 112px;
  }
  .quote-cart-drawer {
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 430px;
    margin: 0 auto;
    transform: none;
    border-radius: 24px 24px 0 0;
  }
  .quote-cart-body {
    max-height: calc(82vh - 176px);
    padding-bottom: 16px;
  }
}
/* Shared identity-only equipment selector: scoped to preserve existing screens. */
.catalog-picker-panel { margin: 16px 0; padding: 16px; border: 1px solid #e2e8f0; border-radius: 16px; background: #fff; min-width: 0; }
.catalog-picker-panel > summary { cursor: pointer; color: #17243b; font-weight: 700; font-size: 14px; min-height: 28px; }
.catalog-picker-panel[open] > summary { margin-bottom: 16px; }
.catalog-selector { min-width: 0; width: 100%; }
.catalog-selector label { display: grid; gap: 8px; min-width: 0; font-size: 13px; font-weight: 600; color: #334155; }
.catalog-selector-fields { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px 10px; margin: 16px 0; }
.catalog-selector input, .catalog-selector select { width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box; min-height: 48px; border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px; font: inherit; background: #fff; color: #17243b; text-overflow: ellipsis; }
.catalog-selector select:disabled { background: #f8fafc; color: #64748b; }
.catalog-selector [data-catalog-results] { display: grid; gap: 4px; max-height: 260px; overflow-y: auto; }
.catalog-selector [data-catalog-result] { min-height: 48px; padding: 12px; text-align: left; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; color: #17243b; overflow-wrap: anywhere; }
.catalog-selector .catalog-selection-meta { font-size: 12px; color: #64748b; overflow-wrap: anywhere; }
.catalog-selector .equipment-options-card { padding: 12px; margin: 12px 0; min-width: 0; }
.catalog-selector .equipment-option-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.catalog-selector .equipment-option-list button { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.catalog-selector .equipment-options-head { flex-wrap: wrap; gap: 8px; }
.catalog-selector > .button { margin-top: 10px; width: 100%; white-space: normal; }
.catalog-selector-error { color: #c2410c; font-size: 13px; }
/* Partner equipment management, isolated from USER screens. */
.partner-equipment-shell { max-width: 960px; margin: 0 auto; padding: 24px 20px 64px; color: #17243b; }
.partner-equipment-header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.partner-equipment-header h1 { width: 100%; margin: 12px 0 0; font-size: 24px; }
.partner-equipment-header p { width: 100%; margin: 0 0 16px; color: #64748b; }
.partner-equipment-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-bottom: 20px; }
.partner-equipment-summary > div { border: 1px solid #e2e8f0; border-radius: 16px; padding: 16px 10px; background: #fff; font-size: 12px; }
.partner-equipment-summary strong { display: block; font-size: 24px; margin-top: 8px; }
.partner-equipment-hint { font-size: 12px; line-height: 1.6; color: #64748b; margin: 12px 0 20px; }
.partner-equipment-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.partner-equipment-card,.partner-equipment-form { min-width: 0; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 20px; overflow-wrap: anywhere; }
.partner-equipment-card > small { display: block; margin-top: 12px; color: #64748b; }
.partner-equipment-card h2,.partner-equipment-form h2 { font-size: 18px; line-height: 1.5; margin: 8px 0; }
.partner-equipment-card p,.partner-equipment-form p { font-size: 13px; line-height: 1.6; margin: 8px 0; }
.partner-equipment-form { margin-top: 24px; }
.partner-equipment-form label { display: grid; gap: 8px; min-width: 0; font-size: 13px; }
.partner-equipment-form input:not([type=checkbox]),.partner-equipment-form select,.partner-equipment-form textarea { width: 100%; min-width: 0; min-height: 48px; padding: 10px; border: 1px solid #e2e8f0; border-radius: 10px; color: #17243b; background: #fff; font: inherit; box-sizing: border-box; }
.partner-equipment-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 20px 0; }
.partner-equipment-form fieldset { min-width: 0; padding: 14px; border: 1px solid #e2e8f0; border-radius: 12px; }
.partner-equipment-form legend { font-size: 13px; }
.partner-region-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; }
.partner-region-grid label { display: flex; align-items: center; gap: 6px; min-height: 44px; }
.partner-region-grid input { accent-color: #f97316; width: 17px; height: 17px; }
.partner-equipment-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.partner-equipment-actions .button { flex: 1; min-width: 66px; padding: 10px; min-height: 44px; font-size: 13px; }
.vendor-offer-info { margin: 12px 0; padding: 12px; border-radius: 12px; background: #f8fafc; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.vendor-offer-info p { margin: 6px 0; font-size: 12px; }
.vendor-offer-info small { color: #64748b; }
#partner-equipment-error { color: #c2410c; }
.partner-confirm-backdrop { position: fixed; inset: 0; z-index: 500; background: #17243b80; display: grid; place-items: center; padding: 20px; }
.partner-confirm-backdrop section { width: 100%; max-width: 400px; background: white; border-radius: 16px; padding: 24px; box-sizing: border-box; }
.partner-confirm-backdrop h2 { font-size: 18px; }
@media (max-width: 600px) { .partner-equipment-list { grid-template-columns: minmax(0,1fr); } .partner-equipment-form { padding: 14px; } }

/* Home discovery uses the existing catalog cards and brand cards. */
.home-discovery-section { min-width:0; padding:24px 20px 8px; color:#17243b; }
.home-discovery-section[hidden] { display:none; }
.home-discovery-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px; }
.home-discovery-heading h2 { margin:0; font-size:20px; line-height:1.4; letter-spacing:-.04em; }
.home-discovery-heading button { flex-shrink:0; background:transparent; color:#64748b; font-size:12px; padding:8px 0; }
.home-discovery-section > p { margin:0 0 16px; color:#64748b; font-size:12px; line-height:1.6; }
.home-curation-note { display:block; margin:-10px 0 14px; font-size:10px; color:#94a3b8; }
.home-equipment-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 12px) / 2); gap:12px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; padding:2px 0 8px; }
.home-equipment-track::-webkit-scrollbar { display:none; }
.home-equipment-track > article { min-width:0; scroll-snap-align:start; margin:0; }
.home-product-card { display:flex; flex-direction:column; border-radius:16px; border:1px solid #e2e8f0; box-shadow:none; overflow:hidden; background:white; }
.home-product-card .product-image { height:134px; flex-shrink:0; }
.home-product-card .product-info { padding:12px; display:flex; flex-direction:column; flex:1; min-width:0; }
.home-product-card h3 { font-size:13px; line-height:1.55; min-height:40px; margin:8px 0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.home-product-card .product-info > p { font-size:10px; margin:0 0 10px; }
.home-product-card .product-meta { margin:0 0 12px; }
.home-product-card .product-meta span { font-size:11px; line-height:1.6; }
.home-product-card footer { margin-top:auto; display:block; padding-top:0; }
.home-product-card footer button { width:100%; min-height:36px; background:#f8fafc; color:#17243b; border:1px solid #e2e8f0; border-radius:10px; font-size:11px; }
#home-popular-brands .brand-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
#home-popular-brands .brand-card strong { overflow-wrap:anywhere; }
#home-used-equipment .used-listing-card { display:flex; flex-direction:column; border-radius:16px; overflow:hidden; }
#home-used-equipment .used-listing-card-body { min-width:0; padding:12px; }
#home-used-equipment .used-listing-card-body strong { font-size:13px; }
#home-used-equipment .used-listing-card-body small { overflow-wrap:anywhere; }
@media (min-width:681px) {
  [data-page="home"].active { display:flex; flex-direction:column; }
  [data-page="home"] > .hero-shell { order:-2; }
  [data-page="home"] > .trust-strip { order:-1; }
  .mobile-benchmark-home { display:block; width:min(1120px,calc(100% - 40px)); margin:0 auto; }
  .mobile-benchmark-home > :not(.home-discovery-section) { display:none; }
  .home-discovery-section { padding:32px 0 8px; }
  .home-equipment-track { grid-auto-columns:calc((100% - 36px) / 4); }
  #home-popular-brands .brand-card-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
