.gallery-main {
  background: #eee8df;
}

.gallery-main > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #eee8df;
}

.gallery-main .sheet-close {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  display: grid;
  width: 42px;
  height: 42px;
  margin: 0;
  place-items: center;
  color: #fff;
  background: rgba(31, 24, 19, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.62);
  border-radius: 50%;
  box-shadow: 0 5px 18px rgba(20, 12, 8, 0.2);
  backdrop-filter: blur(8px);
}

.gallery-main>img { cursor: zoom-in; }
.gallery-expand { position: absolute; top: 14px; right: 14px; z-index: 4; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; color: #fff; background: rgba(31,24,19,.68); border: 1px solid rgba(255,255,255,.62); border-radius: 50%; backdrop-filter: blur(8px); }
.gallery-share { position: absolute; top: 14px; right: 66px; z-index: 4; display: grid; width: 42px; height: 42px; padding: 0; place-items: center; color: #fff; background: rgba(31,24,19,.68); border: 1px solid rgba(255,255,255,.62); border-radius: 50%; backdrop-filter: blur(8px); }
.gallery-share:active { transform: scale(.94); }
body.viewer-open { overflow: hidden; }
.fullscreen-viewer { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; width: 100vw; height: 100vh; height: 100dvh; padding: 54px 74px; background: rgba(12,10,9,.97); touch-action: pan-y; }
.fullscreen-viewer>img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.viewer-close,.viewer-arrow { position: absolute; z-index: 2; display: grid; width: 46px; height: 46px; padding: 0; place-items: center; color: #fff; background: rgba(255,255,255,.11); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; backdrop-filter: blur(8px); }
.viewer-close { top: max(16px,env(safe-area-inset-top)); right: 18px; }
.viewer-arrow { top: 50%; transform: translateY(-50%); }
.viewer-arrow.previous { left: 18px; }
.viewer-arrow.next { right: 18px; }
.viewer-counter { position: absolute; bottom: max(18px,env(safe-area-inset-bottom)); left: 50%; padding: 6px 11px; color: #fff; background: rgba(255,255,255,.12); border-radius: 4px; font-size: 12px; transform: translateX(-50%); }

@media(max-width:560px){
  .fullscreen-viewer { padding: 58px 8px 52px; }
  .viewer-arrow { display: none; }
  .viewer-close { right: 12px; }
}

.enquiry-card .enquiry-actions {
  grid-column: 2 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.enquiry-actions button {
  min-width: 132px;
  justify-content: center;
}

.enquiry-message {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.order-progress {
  grid-column: 1 / -1;
  padding: 15px;
  background: #faf5ee;
  border: 1px solid var(--line);
  border-radius: 7px;
}

.progress-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 17px;
}

.progress-heading span,
.progress-heading strong { display: block; }
.progress-heading span { margin-bottom: 3px; color: var(--primary); font-size: 9px; font-weight: 700; letter-spacing: 1.3px; }
.progress-heading small { color: var(--muted); font-size: 10px; }

.progress-track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  position: relative;
}

.progress-track::before {
  content: '';
  position: absolute;
  top: 15px;
  right: 10%;
  left: 10%;
  height: 2px;
  background: var(--line);
}

.progress-step {
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 6px;
  color: #aaa098;
  text-align: center;
}

.progress-icon {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  background: var(--surface);
  border: 2px solid var(--line);
  border-radius: 50%;
  font-size: 16px;
}

.progress-step.done,
.progress-step.current { color: var(--green); }
.progress-step.done .progress-icon { color: #fff; background: var(--green); border-color: var(--green); }
.progress-step.current .progress-icon { color: #fff; background: var(--primary); border-color: var(--primary); box-shadow: 0 0 0 5px rgba(139,74,24,.13); }
.progress-step small { font-size: 9px; }

.tracking-summary {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid var(--line);
}

.tracking-summary>span { color: var(--primary); }
.tracking-summary small,.tracking-summary strong { display: block; }
.tracking-summary small { margin-bottom: 3px; color: var(--muted); font-size: 10px; }
.tracking-summary a { display: inline-flex; align-items: center; gap: 4px; color: var(--primary); font-size: 12px; font-weight: 700; text-decoration: none; }
.tracking-summary a .material-symbols-rounded { font-size: 15px; }

@media (max-width: 560px) {
  .enquiry-card .enquiry-actions {
    grid-column: 1 / -1;
  }

  .enquiry-actions button {
    flex: 1;
    min-width: 0;
  }

  .order-progress { padding: 12px 8px; }
  .progress-heading { padding: 0 5px; }
  .progress-step small { font-size: 8px; }
  .tracking-summary { grid-template-columns: 30px 1fr; padding-right: 5px; padding-left: 5px; }
  .tracking-summary a { grid-column: 2; }
}

.payment-product {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 20px 0;
  padding: 12px;
  background: #f5eee5;
  border: 1px solid var(--line);
  border-radius: 7px;
}

.payment-product img {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 5px;
}

.payment-product strong,
.payment-product span {
  display: block;
}

.payment-product span {
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
}

.payment-breakdown {
  margin-bottom: 16px;
  border: 1px solid var(--line);
  border-radius: 7px;
  overflow: hidden;
}

.payment-breakdown > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 15px;
  color: var(--muted);
}

.payment-breakdown strong {
  color: var(--ink);
}

.payment-breakdown .payment-total {
  color: var(--ink);
  background: #f5eee5;
  border-top: 1px solid var(--line);
  font-size: 17px;
}

.confirm-payment {
  width: 100%;
  min-height: 52px;
  justify-content: center;
  margin-top: 18px;
}

.receipt-sheet { padding: 8px 2px 4px; }
.receipt-hero { display: grid; grid-template-columns: 48px 1fr 42px; align-items: center; gap: 13px; padding: 16px; color: #fff; background: linear-gradient(120deg,#6f3512,#a85f23); border-radius: 8px; }
.receipt-hero > .material-symbols-rounded { display: grid; width: 46px; height: 46px; place-items: center; background: rgba(255,255,255,.16); border-radius: 50%; font-size: 27px; font-variation-settings: 'FILL' 1; }
.receipt-hero small,.receipt-hero h2,.receipt-hero p { display: block; margin: 0; }
.receipt-hero small { color: #f2d6b9; font-size: 9px; font-weight: 700; letter-spacing: 1.5px; }
.receipt-hero h2 { margin-top: 3px; font: 700 24px 'Playfair Display'; }
.receipt-hero p { margin-top: 3px; color: #f8e9da; font-size: 12px; }
.receipt-hero .icon-btn { color: #fff; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); }
.receipt-number { display: grid; gap: 4px; margin: 14px 0; padding: 12px 14px; background: #f5eee5; border-radius: 6px; }
.receipt-number span,.receipt-rows span { color: var(--muted); font-size: 10px; }
.receipt-number strong { overflow-wrap: anywhere; font-size: 12px; }
.receipt-rows { border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.receipt-rows > div { display: grid; grid-template-columns: minmax(120px,.75fr) 1.25fr; gap: 14px; padding: 11px 13px; border-bottom: 1px solid var(--line); }
.receipt-rows > div:last-child { border-bottom: 0; }
.receipt-rows strong { overflow-wrap: anywhere; text-align: right; font-size: 12px; }
.receipt-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.receipt-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 49px; }

@media(max-width:560px){
  .receipt-rows > div { grid-template-columns: 105px 1fr; }
  .receipt-actions { grid-template-columns: 1fr; }
}

#detailSave.saved {
  color: #fff;
  background: var(--primary);
}

button:disabled {
  cursor: wait;
  opacity: 0.68;
}

.heart.liked-pop {
  animation: rugsy-heart-bubble 620ms cubic-bezier(.22, 1, .36, 1);
}

.product-media .heart {
  color: #fff;
  background: transparent;
  border: 0;
  box-shadow: none;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.42));
  isolation: isolate;
  transition: color 180ms ease, transform 180ms ease;
}

.product-media .heart::before {
  content: "";
  position: absolute;
  inset: 4px;
  z-index: -1;
  border-radius: 50%;
  background: rgba(217,45,32,.2);
  opacity: 0;
  transform: scale(.25);
}

.product-media .heart.saved {
  color: #e32636;
}

.product-media .heart-glyph {
  display: block;
  font-size: 31px;
  font-variation-settings: 'FILL' 0, 'wght' 430, 'GRAD' 0, 'opsz' 32;
  line-height: 1;
  transition: font-variation-settings 180ms ease, transform 180ms ease;
}

.product-media .heart.saved .heart-glyph {
  font-variation-settings: 'FILL' 1, 'wght' 650, 'GRAD' 0, 'opsz' 32 !important;
}

.product-media .heart.liked-pop::before {
  animation: rugsy-heart-bloom 620ms cubic-bezier(.22, 1, .36, 1);
}

@keyframes rugsy-heart-bubble {
  0% { transform: scale(1); }
  28% { transform: scale(.84); }
  58% { transform: scale(1.22); }
  78% { transform: scale(.96); }
  100% { transform: scale(1); }
}

@keyframes rugsy-heart-bloom {
  0% { opacity: 0; transform: scale(.25); }
  38% { opacity: .8; }
  100% { opacity: 0; transform: scale(1.65); }
}

@media (prefers-reduced-motion: reduce) {
  .heart.liked-pop,
  .product-media .heart.liked-pop::before {
    animation: none;
  }
}

.chat-sheet {
  position: fixed;
  z-index: 75;
  top: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  width: min(520px, 100%);
  background: var(--bg);
  box-shadow: var(--shadow);
  transform: translateX(105%);
  transition: transform .28s ease;
}

.chat-sheet.open { transform: none; }

.chat-header {
  display: grid;
  grid-template-columns: 42px 48px 1fr;
  align-items: center;
  gap: 11px;
  min-height: 74px;
  padding: 10px 14px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}

.chat-header img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 6px;
}

.chat-header strong,
.chat-header span { display: block; }
.chat-header span { margin-top: 3px; color: var(--muted); font-size: 12px; }

.chat-messages {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
  padding: 18px 16px;
  background: linear-gradient(rgba(250,247,242,.94), rgba(250,247,242,.94)), radial-gradient(circle at 20% 10%, #ead6bf 0 1px, transparent 1px);
  background-size: auto, 24px 24px;
}

.chat-message {
  align-self: flex-start;
  max-width: 82%;
  padding: 9px 11px 6px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px 12px 12px 12px;
  box-shadow: 0 3px 10px rgba(60,35,20,.05);
}

.chat-message.mine {
  align-self: flex-end;
  background: #f1dfca;
  border-color: #e3c19c;
  border-radius: 12px 4px 12px 12px;
}

.chat-message p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.4; }
.chat-message time { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; text-align: right; }

.chat-day {
  align-self: center;
  padding: 4px 8px;
  color: var(--muted);
  background: rgba(255,253,250,.88);
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 10px;
}

.chat-composer {
  display: grid;
  grid-template-columns: 1fr 48px;
  gap: 8px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: var(--surface);
  border-top: 1px solid var(--line);
}

.chat-composer input {
  min-width: 0;
  padding: 12px 14px;
  color: var(--ink);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 22px;
  outline: 0;
}

.chat-composer input:focus { border-color: var(--primary); }
.chat-composer button { width: 48px; height: 48px; padding: 0; border-radius: 50%; justify-content: center; }

.chat-action { position: relative; }

.chat-unread,
.nav-unread {
  display: inline-grid;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  place-items: center;
  color: #fff;
  background: #b42318;
  border-radius: 9px;
  font-size: 10px;
  font-weight: 700;
}

.nav-unread {
  position: absolute;
  top: 8px;
  right: 5px;
}

[data-view="enquiries"] { position: relative; }

.profile-hero,
.exporter-head,
.exporter-identity,
.dashboard-tools,
.managed-product,
.managed-actions,
.managed-metrics,
.management-actions {
  display: flex;
  align-items: center;
}

.profile-hero { gap: 16px; margin-bottom: 22px; }
.profile-close { position: sticky; top: 12px; z-index: 3; margin: 12px 12px 0 auto; }
.profile-avatar > img,
.exporter-identity > img { width: 74px; height: 74px; object-fit: cover; border: 1px solid var(--line); border-radius: 50%; background: #f3e8db; }
.profile-avatar { position: relative; flex: 0 0 auto; }
.profile-avatar button { position: absolute; right: -2px; bottom: -2px; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 2px solid var(--surface); border-radius: 50%; background: var(--primary); color: #fff; }
.profile-avatar button span { font-size: 15px; }
.profile-hero h2 { margin: 3px 0 4px; }
.profile-hero p { margin: 0 0 9px; color: var(--muted); }
.profile-kicker,.dashboard-section-head span,.exporter-identity>div>span { color: var(--primary); font-size: 10px; font-weight: 700; letter-spacing: 1.5px; }
.verification-chip { display: inline-flex; align-items: center; gap: 5px; width: max-content; padding: 5px 9px; border-radius: 4px; background: #f2e9dd; color: var(--primary); font-size: 11px; font-weight: 700; }
.verification-chip.verified { background: #e5f4e8; color: var(--green); }
.verification-chip.rejected { background: #fce8e6; color: #b42318; }
.enquiry-card > .status.failed { color:#b42318; background:#fce8e6; }

/* Rugsy admin */
.admin-view { max-width: 1320px; }
.admin-page-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.admin-page-head p,.admin-section-title small,.admin-panel>div>small { margin:0 0 5px; color:var(--primary); font-size:10px; font-weight:800; letter-spacing:1.6px; }
.admin-page-head h1 { margin:0; font:700 36px 'Playfair Display'; }
.admin-page-head>div>span { display:block; margin-top:6px; color:var(--muted); font-size:13px; }
.admin-page-head .outline-btn { display:inline-flex; align-items:center; gap:8px; width:auto; white-space:nowrap; }
.admin-section,.admin-panel { margin-bottom:16px; }
.admin-panel { padding:20px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:0 8px 24px rgba(70,40,20,.04); }
.admin-section-title { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:15px; }
.admin-section-title h2,.admin-panel h2 { margin:0; font:700 23px 'Playfair Display'; }
.admin-section-title>span { color:var(--muted); font-size:12px; }
.admin-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.admin-metric { min-height:92px; display:flex; align-items:center; gap:13px; padding:16px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.admin-metric>.material-symbols-rounded { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; background:#f3e8dc; color:var(--primary); }
.admin-metric small,.admin-metric strong { display:block; }
.admin-metric small { margin-bottom:5px; color:var(--muted); font-size:11px; }
.admin-metric strong { color:var(--ink); font-size:20px; overflow-wrap:anywhere; }
.admin-metric.positive>.material-symbols-rounded { color:var(--green); background:#e7f3e9; }
.admin-metric.warning>.material-symbols-rounded { color:#a46612; background:#fff2d9; }
.admin-metric.accent>.material-symbols-rounded { color:#fff; background:linear-gradient(135deg,var(--primary),var(--primary-2)); }
.admin-two-column { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); gap:16px; }
.admin-chart { height:230px; display:flex; align-items:end; justify-content:space-around; gap:12px; padding:24px 6px 4px; }
.admin-chart-column { min-width:45px; flex:1; display:grid; justify-items:center; gap:5px; }
.admin-chart-track { width:min(44px,70%); height:145px; display:flex; align-items:end; overflow:hidden; border-radius:5px 5px 2px 2px; background:#f1e8de; }
.admin-chart-track span { width:100%; min-height:7px; border-radius:5px 5px 0 0; background:linear-gradient(180deg,var(--primary-2),var(--primary)); transition:height .35s ease; }
.admin-chart-column strong { font-size:12px; }
.admin-chart-column small { color:var(--muted); font-size:9px; text-align:center; }
.admin-funds>div:last-child { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.admin-funds .admin-metric { min-height:86px; padding:12px; }
.admin-funds .admin-metric>.material-symbols-rounded { width:34px; height:34px; font-size:19px; }
.admin-funds .admin-metric strong { font-size:15px; }
.admin-commission { display:flex; align-items:center; justify-content:space-between; gap:26px; }
.admin-commission p { max-width:610px; margin:7px 0 0; color:var(--muted); font-size:12px; }
#adminCommissionForm { display:flex; align-items:center; gap:10px; }
#adminCommissionForm label { height:48px; display:flex; align-items:center; border:1px solid var(--line); border-radius:6px; background:var(--bg); overflow:hidden; }
#adminCommissionForm input { width:90px; height:100%; padding:0 12px; border:0; outline:0; background:transparent; color:var(--ink); font-weight:700; }
#adminCommissionForm label span { padding-right:12px; color:var(--muted); }
#adminCommissionForm button { min-height:48px; }
.admin-receipt-list,.admin-user-list { display:grid; gap:9px; }
.admin-receipt-card { width:100%; display:grid; grid-template-columns:58px minmax(0,1fr) auto 24px; align-items:center; gap:12px; padding:10px; border:1px solid var(--line); border-radius:7px; background:var(--bg); color:var(--ink); text-align:left; }
.admin-receipt-card:hover { border-color:#cfad90; background:#fffaf5; }
.admin-receipt-card img { width:58px; height:58px; border-radius:5px; object-fit:cover; background:#eee5dc; }
.admin-receipt-card span>strong,.admin-receipt-card span>small { display:block; }
.admin-receipt-card span>small { margin-top:3px; color:var(--muted); font-size:10px; }
.admin-receipt-amount { text-align:right; }
.admin-receipt-amount em { display:inline-block; margin-top:5px; padding:4px 7px; border-radius:4px; background:#f1e8dd; color:var(--primary); font-size:9px; font-style:normal; font-weight:800; text-transform:capitalize; }
.admin-receipt-amount em.refunded { color:var(--green); background:#e7f3e9; }
.admin-load-more { display:block; margin:14px auto 0; padding:10px 18px; border:0; background:transparent; color:var(--primary); font-weight:700; }
.admin-users-head { align-items:center; }
.admin-role-tabs { display:flex; padding:3px; border:1px solid var(--line); border-radius:6px; background:var(--bg); }
.admin-role-tabs button { padding:8px 15px; border:0; border-radius:4px; background:transparent; color:var(--muted); }
.admin-role-tabs button.active { color:#fff; background:var(--primary); }
.admin-search { height:48px; display:flex; align-items:center; gap:9px; margin-bottom:12px; padding:0 13px; border:1px solid var(--line); border-radius:6px; background:var(--bg); }
.admin-search span { color:var(--muted); }
.admin-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); }
.admin-user-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:12px; padding:12px; border:1px solid var(--line); border-radius:7px; background:var(--bg); }
.admin-user-avatar { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#f1e3d3; color:var(--primary); font:700 19px 'Playfair Display'; }
.admin-user-card>div:nth-child(2)>strong,.admin-user-card>div:nth-child(2)>small { display:block; }
.admin-user-card>div:nth-child(2)>small { margin-top:3px; color:var(--muted); font-size:10px; }
.admin-user-card small .material-symbols-rounded { margin-right:3px; font-size:13px; vertical-align:-2px; }
.admin-verification { display:flex; align-items:center; gap:10px; }
.admin-switch { position:relative; width:42px; height:24px; }
.admin-switch input { position:absolute; opacity:0; }
.admin-switch span { position:absolute; inset:0; border-radius:20px; background:#d6cec6; transition:.2s; }
.admin-switch span:after { content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; border-radius:50%; background:#fff; transition:.2s; box-shadow:0 1px 3px rgba(0,0,0,.2); }
.admin-switch input:checked+span { background:var(--green); }
.admin-switch input:checked+span:after { transform:translateX(18px); }
.admin-joined { color:var(--muted); font-size:10px; }
.admin-activity summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; list-style:none; }
.admin-activity summary::-webkit-details-marker { display:none; }
.admin-activity summary small,.admin-activity summary strong { display:block; }
.admin-activity summary small { margin-bottom:5px; color:var(--primary); font-size:10px; letter-spacing:1.6px; }
.admin-activity[open] summary>.material-symbols-rounded { transform:rotate(180deg); }
.admin-activity>div { display:grid; gap:8px; margin-top:15px; padding-top:15px; border-top:1px solid var(--line); }
.admin-activity article { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px; border-radius:6px; background:var(--bg); }
.admin-activity article>div strong,.admin-activity article>div small,.admin-activity article>span:last-child em,.admin-activity article>span:last-child small { display:block; }
.admin-activity article small { margin-top:3px; color:var(--muted); font-size:9px; }
.admin-activity article>span:last-child { text-align:right; }
.admin-activity article em { color:var(--primary); font-size:9px; font-style:normal; font-weight:700; text-transform:capitalize; }
.admin-empty { min-height:400px; display:grid; place-items:center; align-content:center; gap:8px; text-align:center; }
.admin-empty>.material-symbols-rounded { font-size:44px; color:var(--primary); }
.admin-empty h2,.admin-empty p { margin:0; }
.admin-empty p { color:var(--muted); }
.admin-receipt-detail { display:grid; margin:14px 0; border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.admin-receipt-detail>div { display:grid; grid-template-columns:150px 1fr; gap:14px; padding:11px 13px; border-bottom:1px solid var(--line); }
.admin-receipt-detail>div:last-child { border-bottom:0; }
.admin-receipt-detail span { color:var(--muted); font-size:11px; }
.admin-receipt-detail strong { overflow-wrap:anywhere; text-align:right; font-size:12px; }
.admin-refund-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }

@media(max-width:900px) {
  .admin-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-two-column { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .admin-view { padding-left:14px; padding-right:14px; }
  .admin-page-head { align-items:flex-start; }
  .admin-page-head h1 { font-size:29px; }
  .admin-page-head .outline-btn { width:44px; height:44px; padding:0; justify-content:center; }
  .admin-page-head .outline-btn:not(:focus) { font-size:0; }
  .admin-page-head .outline-btn span { font-size:22px; }
  .admin-metric-grid { gap:8px; }
  .admin-metric { min-height:82px; gap:9px; padding:11px; }
  .admin-metric>.material-symbols-rounded { width:34px; height:34px; font-size:18px; }
  .admin-metric strong { font-size:16px; }
  .admin-panel { padding:14px; }
  .admin-funds>div:last-child { grid-template-columns:1fr; }
  .admin-commission { align-items:stretch; flex-direction:column; }
  #adminCommissionForm { width:100%; }
  #adminCommissionForm label { flex:1; }
  #adminCommissionForm input { width:100%; }
  .admin-section-title.admin-users-head { align-items:flex-start; flex-direction:column; }
  .admin-role-tabs { width:100%; }
  .admin-role-tabs button { flex:1; }
  .admin-receipt-card { grid-template-columns:48px minmax(0,1fr) 20px; }
  .admin-receipt-card img { width:48px; height:48px; }
  .admin-receipt-amount { grid-column:2; text-align:left; }
  .admin-receipt-card>.material-symbols-rounded { grid-column:3; grid-row:1/3; }
  .admin-user-card { grid-template-columns:40px minmax(0,1fr); }
  .admin-verification,.admin-joined { grid-column:2; justify-self:start; }
  .admin-activity article { grid-template-columns:26px minmax(0,1fr); }
  .admin-activity article>span:last-child { grid-column:2; text-align:left; }
  .admin-receipt-detail>div { grid-template-columns:100px 1fr; }
  .admin-refund-actions { grid-template-columns:1fr; }
}
.profile-section h3 { margin: 26px 0 4px; }
.profile-row small,.profile-row strong { display: block; }
.profile-row small { margin-bottom: 3px; color: var(--muted); font-size: 11px; }
.profile-signout { width: 100%; margin-top: 24px; }
.profile-edit { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-bottom: 18px; }
.profile-editor { padding: 22px; }
.profile-editor form { display: grid; gap: 15px; }
.profile-editor form > label:not(.profile-photo-picker) { display: grid; gap: 7px; color: var(--muted); font-size: 12px; font-weight: 700; }
.profile-editor input { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid var(--line); border-radius: 5px; outline: 0; background: var(--surface); color: var(--ink); }
.profile-editor input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(139,74,24,.1); }
.profile-photo-picker { display: flex; align-items: center; gap: 14px; padding: 13px; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; }
.profile-photo-picker strong,.profile-photo-picker small { display: block; }
.profile-photo-picker small { margin-top: 4px; color: var(--muted); }
.profile-photo-preview { position: relative; width: 68px; height: 68px; flex: 0 0 68px; }
.profile-photo-preview img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; background: #f3e8db; }
.profile-photo-preview > span { position: absolute; right: -2px; bottom: -2px; display: grid; place-items: center; width: 25px; height: 25px; border: 2px solid var(--surface); border-radius: 50%; background: var(--primary); color: #fff; font-size: 14px; }
.profile-save { justify-content: center; min-height: 50px; }

.exporter-head { justify-content: space-between; gap: 18px; grid-column: 1/-1; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.exporter-identity { gap: 14px; }
.exporter-identity h2 { margin: 3px 0; font: 700 27px 'Playfair Display'; }
.exporter-identity p { margin: 0; color: var(--muted); font-size: 13px; }
.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); grid-column: 1/-1; gap: 1px; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: 7px; }
.metric-grid>div { padding: 17px; background: var(--surface); }
.metric-grid span { display: block; color: var(--muted); font-size: 12px; }
.metric-grid strong { display: block; margin-top: 7px; font: 700 27px 'Playfair Display'; }
.dashboard-tools { grid-column: 1/-1; gap: 10px; }
.dashboard-tools button { justify-content: center; min-height: 48px; }
.dashboard-section-head { grid-column: 1/-1; margin-top: 16px; }
.dashboard-section-head h2 { margin: 4px 0 0; font: 700 28px 'Playfair Display'; }
.managed-catalog { display: grid; grid-column: 1/-1; gap: 12px; }
.managed-product { align-items: stretch; gap: 14px; padding: 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 7px; }
.managed-product>img { width: 126px; min-height: 112px; object-fit: cover; border-radius: 5px; }
.managed-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; justify-content: space-between; gap: 8px; }
.managed-copy h3 { margin: 0; font: 600 20px 'Playfair Display'; }
.managed-copy p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.managed-metrics { gap: 14px; color: var(--muted); font-size: 12px; }
.managed-metrics>span { display: inline-flex; align-items: center; gap: 4px; }
.managed-metrics .material-symbols-rounded { font-size: 16px; }
.catalog-status { padding: 4px 7px; border-radius: 4px; font-size: 10px; font-weight: 700; }
.catalog-status.active { color: var(--green); background: #e5f4e8; }
.catalog-status.paused { color: #8b4a18; background: #f4e8da; }
.managed-actions { align-self: center; gap: 7px; }
.danger-icon,.danger-btn { color: #b42318; }
.danger-btn { padding: 13px 18px; border: 1px solid #b42318; border-radius: 5px; background: transparent; font-weight: 700; }
.management-copy { color: var(--muted); line-height: 1.55; }
.management-actions { justify-content: flex-end; gap: 10px; margin-top: 24px; }
.management-form { display: grid; gap: 14px; margin-top: 18px; }
.management-form label>span { display: block; margin-bottom: 6px; font-size: 12px; font-weight: 700; }
.management-form input,.management-form textarea,.management-form select { width: 100%; padding: 11px 12px; color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: 5px; outline: 0; }
.management-form select { min-height: 43px; appearance: auto; }
.management-form input:focus,.management-form textarea:focus,.management-form select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(139,74,24,.1); }
.management-form .custom-preset { margin-top: 8px; }
.custom-help { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; }
.management-checks { display: flex; flex-wrap: wrap; gap: 14px; padding: 12px; background: #f5eee5; border-radius: 6px; }
.management-checks label { display: inline-flex; align-items: center; gap: 8px; min-width: 0; font-size: 12px; }
.management-checks input[type="checkbox"] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; padding: 0; accent-color: var(--primary); }
.management-checks label>span { display: inline; min-width: 0; margin: 0; line-height: 1.3; }
.image-preview { min-height: 74px; padding: 10px; background: #f8f2ea; border: 1px dashed #d7c5b2; border-radius: 6px; }
.image-preview-empty { margin: 17px 0; color: var(--muted); font-size: 12px; text-align: center; }
.image-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; font-size: 11px; }
.image-preview-head span { color: var(--muted); }
.image-preview-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.image-preview-item { position: relative; aspect-ratio: 1; overflow: hidden; margin: 0; background: #eadfD2; border-radius: 5px; }
.image-preview-item img { width: 100%; height: 100%; object-fit: cover; }
.image-preview-item span { position: absolute; bottom: 5px; left: 5px; padding: 3px 5px; color: #fff; background: rgba(36,24,16,.78); border-radius: 3px; font-size: 9px; font-weight: 700; }
.image-preview-item button { position: absolute; top: 5px; right: 5px; display: grid; width: 25px; height: 25px; padding: 0; place-items: center; color: #fff; background: rgba(36,24,16,.76); border: 1px solid rgba(255,255,255,.45); border-radius: 50%; backdrop-filter: blur(5px); }
.image-preview-item button .material-symbols-rounded { font-size: 16px; }

@media(max-width:700px){
  .exporter-head { align-items: flex-start; flex-direction: column; }
  .metric-grid { grid-template-columns: 1fr 1fr; }
  .dashboard-tools { align-items: stretch; flex-direction: column; }
  .managed-product { display: grid; grid-template-columns: 94px 1fr; }
  .managed-product>img { width: 94px; min-height: 104px; }
  .managed-actions { grid-column: 1/-1; justify-content: flex-end; padding-top: 9px; border-top: 1px solid var(--line); }
  .management-checks { align-items: stretch; flex-direction: column; gap: 10px; }
  .management-checks label { width: 100%; }
  .image-preview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .image-preview-head { align-items: flex-start; flex-direction: column; gap: 3px; }
}
.seller-link { display: grid; grid-template-columns: 46px 1fr 24px; align-items: center; gap: 12px; width: 100%; margin: 22px 0 14px; padding: 12px; color: var(--ink); text-align: left; background: #f8f2ea; border: 1px solid var(--line); border-radius: 7px; }
.seller-link-avatar { display: grid; width: 44px; height: 44px; place-items: center; color: var(--primary); background: #efe1d2; border-radius: 50%; }
.seller-link small,.seller-link strong,.seller-link em { display: block; }
.seller-link small { color: var(--muted); font-size: 10px; }
.seller-link strong { margin: 2px 0; font-size: 14px; }
.seller-link em { color: var(--green); font-size: 11px; font-style: normal; }
.seller-link > .material-symbols-rounded { color: var(--muted); }
.public-seller { min-height: 100%; padding: 0 22px 50px; }
.public-seller-topbar { position: sticky; z-index: 5; top: 0; display: grid; grid-template-columns: 42px 1fr 42px; align-items: center; gap: 12px; margin: 0 -22px; padding: 12px 22px; background: rgba(255,253,250,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.public-seller-topbar strong { text-align: center; }
.public-seller-hero { display: flex; align-items: center; gap: 18px; padding: 28px 0 22px; }
.public-seller-avatar { display: grid; width: 94px; height: 94px; flex: 0 0 94px; place-items: center; overflow: hidden; color: var(--primary); background: #efe1d2; border: 1px solid var(--line); border-radius: 50%; }
.public-seller-avatar img { width: 100%; height: 100%; object-fit: cover; }
.public-seller-avatar > span { font-size: 43px; }
.public-seller-hero h1 { margin: 0 0 8px; font: 700 30px 'Playfair Display'; }
.public-seller-hero p { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.public-seller-hero p .material-symbols-rounded { color: var(--primary); font-size: 17px; }
.seller-stat-grid { display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: 7px; }
.seller-stat-grid > div { padding: 14px 10px; text-align: center; background: var(--surface); }
.seller-stat-grid strong,.seller-stat-grid span { display: block; }
.seller-stat-grid strong { font: 700 22px 'Playfair Display'; }
.seller-stat-grid span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.seller-catalog-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin: 28px 0 14px; }
.seller-catalog-head small { color: var(--primary); font-size: 9px; font-weight: 700; letter-spacing: 1.3px; }
.seller-catalog-head h2 { margin: 4px 0 0; font: 700 25px 'Playfair Display'; }
.seller-catalog-head > span { color: var(--muted); font-size: 12px; }
.seller-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

@media(max-width:560px){
  .public-seller { padding-right: 14px; padding-left: 14px; }
  .public-seller-topbar { margin-right: -14px; margin-left: -14px; padding-right: 14px; padding-left: 14px; }
  .public-seller-hero { align-items: flex-start; }
  .public-seller-avatar { width: 78px; height: 78px; flex-basis: 78px; }
  .public-seller-hero h1 { font-size: 24px; }
  .seller-catalog-grid { gap: 10px; }
  .seller-catalog-grid .product-copy h3 { font-size: 15px; }
}
.cancel-link { grid-column: 1/-1; justify-self: end; padding: 5px 2px; color: #b42318; background: transparent; border: 0; font-size: 12px; font-weight: 700; }
.cancellation-review { display: flex; grid-column: 1/-1; justify-content: flex-end; gap: 10px; width: 100%; }
.cancellation-summary { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 10px; grid-column: 1/-1; padding: 12px; color: var(--primary); background: #f8f2ea; border: 1px solid var(--line); border-radius: 7px; }
.cancellation-summary.completed { color: var(--green); background: #edf7ef; border-color: #b9ddc2; }
.cancellation-summary > .material-symbols-rounded { font-size: 27px; font-variation-settings: 'FILL' 1; }
.cancellation-summary strong,.cancellation-summary p,.cancellation-summary small { display: block; margin: 0; }
.cancellation-summary p { margin-top: 4px; color: var(--muted); font-size: 12px; }
.cancellation-summary small { margin-top: 5px; color: var(--muted); font-size: 10px; overflow-wrap: anywhere; }
.cancellation-note { margin: 18px 0; color: var(--muted); line-height: 1.55; }
.cancellation-form { display: grid; gap: 9px; }
.cancellation-form > label { display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; }
.cancellation-form input { accent-color: var(--primary); }
.cancellation-form textarea { width: 100%; padding: 12px; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 6px; resize: vertical; }
.review-cancellation-card { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; margin: 20px 0; padding: 14px; background: #f8f2ea; border: 1px solid var(--line); border-radius: 7px; }
.review-cancellation-card > .material-symbols-rounded { display: grid; width: 40px; height: 40px; place-items: center; color: var(--primary); background: #efe1d2; border-radius: 50%; }
.review-cancellation-card strong,.review-cancellation-card p { display: block; margin: 0; }
.review-cancellation-card p { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.cancellation-sheet { padding:2px 2px 6px; }
.cancellation-sheet-head { display:grid; grid-template-columns:48px minmax(0,1fr) 42px; align-items:center; gap:13px; padding:6px 0 15px; border-bottom:1px solid var(--line); }
.cancellation-sheet-head small,.cancellation-sheet-head h2,.cancellation-sheet-head p { display:block; margin:0; }
.cancellation-sheet-head small { color:var(--primary); font-size:9px; font-weight:800; letter-spacing:1.5px; }
.cancellation-sheet-head h2 { margin-top:3px; font:700 24px 'Playfair Display'; }
.cancellation-sheet-head p { margin-top:3px; color:var(--muted); font-size:11px; }
.cancellation-head-icon { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; color:#b42318; background:#fce8e6; }
.cancellation-head-icon.approve { color:var(--green); background:#e7f3e9; }
.cancellation-head-icon.decline { color:#b42318; background:#fce8e6; }
.cancellation-head-icon .material-symbols-rounded { font-size:25px; font-variation-settings:'FILL' 1; }
.cancellation-impact { display:grid; grid-template-columns:36px 1fr; align-items:start; gap:11px; margin:15px 0; padding:13px; border:1px solid #ead5c0; border-radius:7px; background:#fbf4ec; }
.cancellation-impact>.material-symbols-rounded { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:var(--primary); background:#efdfce; font-size:19px; }
.cancellation-impact strong,.cancellation-impact p { display:block; margin:0; }
.cancellation-impact strong { font-size:12px; }
.cancellation-impact p { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.45; }
.cancellation-form fieldset { display:grid; gap:8px; margin:0; padding:0; border:0; }
.cancellation-form legend { margin-bottom:9px; font-size:12px; font-weight:700; }
.cancellation-form fieldset>label { display:grid; grid-template-columns:31px minmax(0,1fr) 22px; align-items:center; gap:9px; min-height:51px; padding:9px 11px; border:1px solid var(--line); border-radius:7px; background:var(--surface); cursor:pointer; transition:border-color .18s,background .18s; }
.cancellation-form fieldset>label:hover { border-color:#d5b392; background:#fffaf5; }
.cancellation-form fieldset input { position:absolute; opacity:0; pointer-events:none; }
.cancel-choice-icon { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; color:var(--primary); background:#f3e7da; font-size:17px; }
.cancel-choice-check { color:#cfc5bc; font-size:21px; font-variation-settings:'FILL' 0; }
.cancellation-form fieldset>label:has(input:checked) { border-color:var(--primary); background:#fbf2e8; }
.cancellation-form input:checked~.cancel-choice-check { color:var(--primary); font-variation-settings:'FILL' 1; }
.cancel-other { display:grid; gap:6px; margin-top:2px; color:var(--muted); font-size:11px; }
.cancellation-form .cancel-other textarea { min-height:84px; }
.cancellation-sheet-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
.cancellation-sheet-actions button { min-height:49px; display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.danger-btn { min-height:45px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:12px 17px; border:0; border-radius:5px; color:#fff; background:#b42318; font-weight:700; }
.danger-btn:disabled { opacity:.65; cursor:not-allowed; }
.review-order-summary { display:grid; grid-template-columns:58px 1fr; gap:11px; align-items:center; margin:15px 0; padding:10px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.review-order-summary img { width:58px; height:58px; object-fit:cover; border-radius:5px; background:#eee5dc; }
.review-order-summary small,.review-order-summary strong,.review-order-summary span { display:block; }
.review-order-summary small { color:var(--primary); font-size:8px; font-weight:800; letter-spacing:1.2px; }
.review-order-summary strong { margin-top:3px; font-size:12px; }
.review-order-summary span { margin-top:4px; color:var(--muted); font-size:10px; }
.refund-breakdown { margin:0 0 14px; border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.refund-breakdown>div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 13px; border-bottom:1px solid var(--line); }
.refund-breakdown>div:last-child { border-bottom:0; background:#f8f1e8; }
.refund-breakdown span { color:var(--muted); font-size:11px; }
.refund-breakdown strong { color:var(--primary); font-size:13px; }
.refund-mode-picker { display:grid; gap:8px; margin:14px 0; }
.refund-mode-picker>label { display:grid; grid-template-columns:28px 32px minmax(0,1fr) 22px; align-items:center; gap:8px; min-height:58px; padding:10px 12px; border:1px solid var(--line); border-radius:7px; cursor:pointer; }
.refund-mode-picker input { position:absolute; opacity:0; pointer-events:none; }
.refund-mode-picker>label>.material-symbols-rounded:nth-of-type(1) { color:var(--primary); }
.refund-mode-picker>label>.material-symbols-rounded:last-child { color:#cfc5bc; font-variation-settings:'FILL' 0; }
.refund-mode-picker label:has(input:checked) { border-color:var(--primary); background:#fbf2e8; }
.refund-mode-picker input:checked~.material-symbols-rounded:last-child { color:var(--primary); font-variation-settings:'FILL' 1; }
.refund-mode-picker strong,.refund-mode-picker small { display:block; }
.refund-mode-picker small { margin-top:3px; color:var(--muted); font-size:10px; }
.partial-refund-fields { display:grid; gap:11px; margin:12px 0; padding:13px; border:1px solid #dfc2a7; border-radius:7px; background:#fffaf5; }
.partial-refund-fields>label { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.partial-refund-fields textarea { width:100%; padding:11px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:var(--surface); resize:vertical; }
.money-input { display:flex; align-items:center; min-height:46px; border:1px solid var(--line); border-radius:6px; background:var(--surface); overflow:hidden; }
.money-input>span { padding-left:12px; color:var(--primary); font-weight:700; }
.money-input input { flex:1; min-width:0; padding:0 11px 0 5px; border:0; outline:0; color:var(--ink); background:transparent; }
.refund-calculation { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:10px; border-top:1px solid var(--line); }
.refund-calculation span { color:var(--muted); font-size:11px; }
.refund-calculation strong { color:var(--green); font-size:16px; }
@media(max-width:480px) {
  .cancellation-sheet-actions { grid-template-columns:1fr; }
  .cancellation-sheet-actions .outline-btn { order:2; }
}
