/* Shared production surfaces */
html, body { max-width: 100%; }
body { overflow-x: hidden; }
body.media-viewer-open { overflow:hidden; }
.state-card--error { min-height: 58vh; }
.manual-topbar-actions { display:flex; align-items:center; gap:10px; }
.manual-home-link { border-left:1px solid var(--line); padding-left:10px; color:var(--teal-700); font-size:13px; font-weight:750; text-decoration:none; white-space:nowrap; }
.manual-home-link:hover { color:var(--orange-dark); }
.block-continuation {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  color: var(--teal-700);
  font-size: 15px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-align: center;
}
.manual-image-button { display:block; width:100%; border:0; background:transparent; padding:0; cursor:zoom-in; }
.manual-image-button:focus-visible { outline:3px solid var(--orange); outline-offset:-3px; }
.manual-media__hint { color:var(--muted); font-size:13px; font-weight:750; }
.manual-media > .manual-media__hint { display:block; padding:10px 12px; text-align:center; }
.manual-media__actions { display:flex; min-height:48px; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px 8px 12px; }
.manual-media__fullscreen { min-height:44px; border:1px solid var(--teal-700); border-radius:10px; background:#fff; color:var(--teal-800); padding:7px 12px; font-size:13px; font-weight:850; }
.manual-media__fullscreen:hover,.manual-media__fullscreen:focus-visible { background:var(--teal-50); }
.manual-external-frame { display:block; width:100%; min-height:clamp(320px,72vw,680px); border:0; border-radius:18px 18px 0 0; background:#000; }
.manual-external-actions { display:grid; gap:8px; padding:12px; }
.manual-external-actions .manual-media__hint { text-align:center; }
.manual-external-actions a { display:flex; width:100%; min-height:48px; align-items:center; justify-content:center; border:0; border-radius:999px; background:#0071e3; color:#fff; padding:10px 16px; font-size:16px; font-weight:800; text-align:center; text-decoration:none; }
.media-viewer { position:fixed; z-index:120; inset:0; box-sizing:border-box; display:grid; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; border:0; background:rgba(1,13,16,.98); padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); color:#fff; }
.media-viewer[hidden] { display:none; }
.media-viewer__panel { display:grid; min-width:0; min-height:0; grid-template-rows:auto minmax(0,1fr) auto; gap:10px; }
.media-viewer__topbar { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:12px; }
.media-viewer__topbar strong { overflow:hidden; color:#fff; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.media-viewer__close { min-width:82px; min-height:44px; border:1px solid rgba(255,255,255,.32); border-radius:11px; background:rgba(255,255,255,.1); color:#fff; padding:8px 12px; font-size:15px; font-weight:850; }
.media-viewer__stage { display:grid; min-width:0; min-height:0; place-items:center; overflow:hidden; }
.media-viewer__stage img,.media-viewer__stage video { display:block; width:100%; height:100%; max-width:100%; max-height:100%; background:#000; object-fit:contain; }
.media-viewer__caption { margin:0; color:#b8c8c7; font-size:13px; text-align:center; }

/* Public support home */
.support-home-body { min-width: 320px; background: #f5f8f7; }
.support-home-header {
  display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 16px;
  background: var(--teal-950); padding: 14px clamp(18px, 5vw, 70px);
}
.home-admin-link { color: #9ec2bf; font-size: 13px; text-decoration: none; }
.home-admin-link:hover { color: #fff; }
.support-home-hero {
  display: grid; min-height: 600px; align-items: center; gap: 42px;
  overflow: hidden; background: linear-gradient(145deg, #073e48, #062b32); color: #fff;
  padding: 48px 20px 58px;
}
.support-home-hero__copy { min-width: 0; }
.support-home-hero h1 { margin: 14px 0 18px; font-size: clamp(38px, 11vw, 72px); letter-spacing: -0.055em; line-height: 1.08; }
.support-home-hero__copy > p { max-width: 630px; margin: 0; color: #b9d1cf; font-size: clamp(14px, 2vw, 17px); }
.current-product-state {
  display: flex; max-width: 600px; min-height: 68px; align-items: center; gap: 12px;
  margin-top: 28px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px;
  background: rgba(255,255,255,.06); padding: 13px 15px; color: #c6dad8;
}
.current-product-state > span:not(.loader), .current-product-state > strong { min-width: 0; }
.current-product-state strong, .current-product-state span { font-size: 14px; }
.current-product-state strong { color: #fff; }
.current-product-state:not(.current-product-state--found) { flex-wrap: wrap; }
.current-product-state:not(.current-product-state--found) strong { width: 100%; }
.current-product-state--found { justify-content: space-between; }
.current-product-state--found .button { flex: 0 0 auto; }
.current-product-state .loader { width: 25px; height: 25px; }
.support-home-visual { position: relative; display: grid; place-items: center; min-width: 0; }
.phone-frame {
  width: min(82vw, 290px); min-height: 430px; border: 9px solid #0b2025; border-radius: 42px;
  background: #fff; color: var(--ink); padding: 36px 18px 25px; box-shadow: 0 35px 80px rgba(0,0,0,.3);
  transform: rotate(2deg);
}
.phone-speaker { width: 80px; height: 7px; margin: -19px auto 42px; border-radius: 99px; background: #d9e2e1; }
.phone-label { color: var(--teal-700); font-size: 12px; font-weight: 850; letter-spacing: .13em; }
.phone-frame > strong { display: block; margin: 8px 0 17px; font-size: 24px; line-height: 1.25; }
.phone-options { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.phone-options span { border: 1px solid var(--line); border-radius: 9px; padding: 9px 2px; font-size: 12px; font-weight: 800; text-align: center; }
.phone-options span:first-child { border-color: var(--orange); background: var(--orange); color: #fff; }
.phone-content-line { height: 105px; margin-top: 22px; border-radius: 13px; background: linear-gradient(145deg, #0a4f59, #06333b); }
.phone-content-line--short { height: 42px; margin-top: 10px; background: #edf3f2; }
.fixed-code-note { position: absolute; right: 1%; bottom: 10%; border-radius: 99px; background: var(--orange); padding: 8px 12px; font-size: 12px; font-weight: 850; box-shadow: 0 10px 25px rgba(242,111,59,.25); }
.support-process { width: min(100% - 36px, 1120px); margin: 0 auto; padding: 62px 0; }
.support-section-heading h2 { margin: 6px 0 26px; font-size: clamp(27px, 5vw, 40px); letter-spacing: -.035em; }
.support-process ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.support-process li { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 13px; border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 17px; box-shadow: var(--shadow-sm); }
.support-process li > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: var(--teal-100); color: var(--teal-800); font-size: 12px; font-weight: 900; }
.support-process li strong { font-size: 16px; }
.support-process li p { margin: 3px 0 0; color: var(--muted); font-size: 14px; }
.support-privacy-note { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 13px; width: min(100% - 36px,1120px); margin: 0 auto 62px; border-radius: 17px; background: var(--teal-950); color: #fff; padding: 20px; }
.support-privacy-note > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: rgba(255,255,255,.09); color: #8fd6d1; font-weight: 900; }
.support-privacy-note p { margin: 3px 0 0; color: #9fbcba; font-size: 13px; }
.support-home-footer { display: flex; justify-content: center; gap: 10px; border-top: 1px solid var(--line); padding: 24px; color: var(--muted); font-size: 12px; }
.support-home-footer strong { color: var(--teal-900); letter-spacing: .1em; }

/* First setup */
.setup-body { min-width: 320px; min-height: 100vh; background: #f5f8f7; }
.setup-shell { display: grid; min-height: 100vh; }
.setup-intro { display: flex; min-height: 410px; flex-direction: column; justify-content: space-between; gap: 40px; background: linear-gradient(145deg,#073f49,#062b32); color:#fff; padding: 30px 22px 38px; }
.setup-intro h1 { margin: 12px 0; font-size: clamp(38px,10vw,64px); letter-spacing:-.05em; line-height:1.07; }
.setup-intro p { max-width: 580px; margin:0; color:#abc6c4; }
.setup-intro ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; color:#a9c3c1; font-size:13px; }
.setup-intro li::before { margin-right:8px; color:#6fd1c8; content:"✓"; }
.setup-form-area { display:grid; place-items:center; padding:30px 16px; }
.setup-card, .setup-state { width:min(100%,470px); }
.setup-card { display:grid; gap:17px; border:1px solid var(--line); border-radius:22px; background:#fff; padding:25px 21px; box-shadow:var(--shadow-lg); }
.setup-card h2 { margin:5px 0 2px; font-size:25px; }
.setup-card > div > p { margin:0; color:var(--muted); font-size:13px; }
.setup-state { display:grid; min-height:350px; place-items:center; align-content:center; gap:9px; text-align:center; }
.setup-state strong { font-size:20px; }
.setup-state p { max-width:390px; margin:0; color:var(--muted); }

/* Production admin gates */
.admin-gate { display:grid; min-height:100vh; place-items:center; background:var(--teal-950); padding:20px; }
.gate-card { display:grid; width:min(100%,450px); gap:17px; border-radius:22px; background:#fff; padding:26px 22px; box-shadow:var(--shadow-lg); }
.gate-card--loading { place-items:center; background:transparent; color:#fff; box-shadow:none; text-align:center; }
.gate-card--loading h1,.gate-card--loading p { margin:0; }
.gate-card--loading p { color:#a4c1bf; }
.gate-card h2 { margin:6px 0 2px; font-size:27px; }
.gate-card > div > p { margin:0; color:var(--muted); font-size:13px; }
.login-help { margin:0; color:var(--muted); font-size:12px; text-align:center; }
.admin-login-shell { display:grid; min-height:100vh; background:var(--teal-950); }
.admin-login-intro { display:flex; min-height:420px; flex-direction:column; justify-content:space-between; gap:40px; background:linear-gradient(145deg,#073f49,#062b32); color:#fff; padding:30px 22px 38px; }
.admin-login-intro h1 { margin:14px 0; font-size:clamp(38px,9vw,66px); letter-spacing:-.055em; line-height:1.08; }
.admin-login-intro p { max-width:620px; margin:0; color:#abc6c4; }
.login-security-note { display:flex; flex-wrap:wrap; gap:5px 12px; color:#8cafac; font-size:12px; }
.login-security-note strong { color:#9fe0da; }
.admin-login-form-wrap { display:grid; place-items:center; padding:30px 16px; background:#f4f7f6; }

/* Production admin shell */
.production-admin { min-height:100vh; }
.production-sidebar { position:fixed; z-index:40; inset:0 auto 0 0; display:flex; width:min(88vw,300px); flex-direction:column; overflow-y:auto; background:var(--teal-950); color:#fff; padding:22px 17px; transform:translateX(-102%); transition:transform 200ms ease; }
.production-admin.sidebar-open .production-sidebar { transform:translateX(0); }
.production-sidebar__top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.production-sidebar-close { border-color:rgba(255,255,255,.15); background:rgba(255,255,255,.07); color:#fff; }
.current-user-card { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:10px; margin:25px 0 16px; border:1px solid rgba(255,255,255,.09); border-radius:13px; background:rgba(255,255,255,.05); padding:10px; }
.current-user-card > span { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; background:var(--orange); font-size:13px; font-weight:900; }
.current-user-card strong,.current-user-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.current-user-card strong { font-size:13px; }
.current-user-card small { color:#81a6a3; font-size:12px; }
.current-user-card__actions { display:grid; grid-column:1/-1; gap:2px; border-top:1px solid rgba(255,255,255,.08); padding-top:6px; }
.current-user-card__actions button { min-height:44px; border:0; background:transparent; color:#9bd7d3; padding:6px 2px; font-size:12px; font-weight:800; text-align:left; }
.current-user-card__actions button:hover,.current-user-card__actions button:focus-visible { color:#fff; }
.current-user-card__actions button[hidden] { display:none; }
.production-nav { display:grid; gap:5px; }
.production-nav button { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:center; gap:10px; width:100%; border:1px solid transparent; border-radius:12px; background:transparent; color:#fff; padding:9px; text-align:left; }
.production-nav button:hover,.production-nav button.is-active { border-color:rgba(255,255,255,.08); background:rgba(255,255,255,.08); }
.production-nav__icon { display:grid; width:36px; height:36px; place-items:center; border-radius:10px; background:rgba(117,211,203,.12); color:#9ad9d4; font-size:12px; font-weight:900; }
.production-nav button.is-active .production-nav__icon { background:var(--orange); color:#fff; }
.production-nav strong,.production-nav small { display:block; }
.production-nav strong { font-size:13px; }
.production-nav small { color:#7b9e9c; font-size:12px; }
.production-sidebar__rule { margin-top:auto; border-radius:12px; background:rgba(255,255,255,.05); padding:12px; }
.production-sidebar__rule strong { color:#9bd7d3; font-size:12px; }
.production-sidebar__rule p { margin:4px 0 0; color:#7f9f9d; font-size:12px; }
.production-logout { margin-top:8px; border:0; background:transparent; color:#769895; padding:8px; font-size:12px; text-align:left; }
.production-main { min-width:0; }
.production-topbar { position:sticky; z-index:25; top:0; display:flex; min-height:76px; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); padding:12px 14px; backdrop-filter:blur(14px); }
.production-topbar__left,.production-topbar__right { display:flex; min-width:0; align-items:center; gap:9px; }
.production-topbar h1 { overflow:hidden; margin:2px 0 0; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.network-state { display:none; align-items:center; gap:7px; color:var(--muted); font-size:12px; }
.network-state.is-offline { color:var(--danger); }
.network-state.is-offline .status-dot { background:var(--danger); box-shadow:0 0 0 4px rgba(196,61,61,.1); }
.role-badge { border-radius:99px; padding:5px 9px; font-size:12px; font-weight:850; white-space:nowrap; }
.role-badge--super { background:var(--orange-soft); color:var(--orange-dark); }
.role-badge--employee { background:var(--teal-100); color:var(--teal-800); }
.admin-global-error { display:flex; align-items:center; justify-content:center; gap:8px 12px; flex-wrap:wrap; margin:12px; border:1px solid #efcaca; border-radius:12px; background:#fff1f1; padding:11px; color:#9d3030; }
.admin-global-error strong,.admin-global-error p { margin:0; font-size:12px; }
.production-page { width:min(100%,1420px); margin:0 auto; padding:16px 11px 54px; }
.product-admin-layout { display:grid; gap:15px; }
.product-list-panel { align-self:start; padding:13px; }
.product-list-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.product-list-heading h2 { margin:2px 0 0; font-size:17px; }
.mini-loading { display:flex; align-items:center; gap:8px; color:var(--muted); padding:15px 5px; font-size:12px; }
.mini-loading .loader { width:22px; height:22px; }
.production-product-list { display:grid; gap:8px; }
.production-product-card { border:1px solid var(--line); border-radius:12px; background:#fbfdfc; padding:7px; }
.production-product-card.is-active { border-color:#a9cbc7; box-shadow:inset 3px 0 var(--teal-600); }
.production-product-card__header { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:8px; width:100%; border:0; background:transparent; padding:3px; text-align:left; }
.production-product-card__header strong,.production-product-card__header small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.production-product-card__header strong { font-size:13px; }
.production-product-card__header small { color:var(--muted); font-size:12px; }
.production-variant-links { display:flex; flex-wrap:wrap; gap:5px; margin-top:7px; padding-left:42px; }
.production-variant-links button { min-height:30px; border:1px solid var(--line); border-radius:8px; background:#fff; color:var(--muted); padding:4px 8px; font-size:12px; font-weight:750; }
.production-variant-links button.is-active { border-color:var(--teal-800); background:var(--teal-900); color:#fff; }
.content-editor { display:grid; min-width:0; align-content:start; gap:14px; }
#content-form,.content-editor > *,.panel { min-width:0; }
.product-overview-panel { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.product-overview-panel h2 { margin:4px 0 2px; font-size:22px; }
.editor-head-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.qr-inline-download[hidden] { display:none; }
.variant-management { display:grid; gap:11px; margin-top:16px; border:1px solid var(--line); border-radius:13px; background:#f8fbfa; padding:12px; }
.variant-management__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.variant-management__heading span,.variant-management__heading small { display:block; }
.variant-management__heading span { color:#29494e; font-size:14px; font-weight:850; }
.variant-management__heading small { margin-top:2px; color:var(--muted); font-size:12px; }
.variant-tabs { display:flex; flex-wrap:wrap; gap:6px; }
.variant-tabs button { min-height:44px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--muted); padding:6px 11px; font-size:12px; font-weight:800; }
.variant-tabs button.is-active { border-color:var(--teal-800); background:var(--teal-900); color:#fff; }
.current-variant-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(118px,150px) auto; align-items:end; gap:10px; border-top:1px solid var(--line); padding-top:10px; }
.current-variant-row__copy { min-width:0; }
.current-variant-row__copy > span,.current-variant-row__copy > strong { display:block; }
.current-variant-row__copy > span { color:var(--muted); font-size:12px; font-weight:750; }
.current-variant-row__copy > strong { overflow:hidden; margin-top:2px; color:var(--teal-900); font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.current-variant-row__copy > p { margin:4px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.current-variant-status { gap:4px; }
.current-variant-status select { min-height:44px; padding-block:7px; }
.current-variant-actions { justify-content:flex-end; padding-bottom:1px; }
.current-variant-actions button { min-height:44px; }
.current-variant-actions[hidden] { display:none; }
.production-save-bar { position:sticky; z-index:15; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid var(--line); border-radius:13px; background:rgba(255,255,255,.96); padding:10px 11px calc(10px + env(safe-area-inset-bottom)); box-shadow:0 -8px 30px rgba(6,47,55,.07); backdrop-filter:blur(12px); }
.production-save-bar span { color:var(--muted); font-size:12px; }
.production-save-bar .button { min-height:40px; padding-inline:12px; font-size:12px; }
.page-heading-row { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin:4px 0 18px; }
.page-heading-row h2 { margin:4px 0 2px; font-size:clamp(24px,5vw,34px); letter-spacing:-.03em; }
.page-heading-row p { margin:0; color:var(--muted); font-size:12px; }
.version-list,.audit-list,.user-list,.qr-list { display:grid; gap:9px; }
.version-card { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--line); border-radius:13px; background:#fff; padding:13px; box-shadow:var(--shadow-sm); }
.version-card strong,.version-card small { display:block; }
.version-card strong { font-size:14px; }
.version-card small { color:var(--muted); font-size:12px; }
.version-card p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.audit-item { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px; }
.audit-marker { display:grid; width:28px; height:28px; place-items:center; border-radius:9px; background:var(--teal-100); color:var(--teal-700); font-size:20px; }
.audit-item strong,.audit-item small { display:block; }
.audit-item strong { font-size:13px; }
.audit-item p { margin:2px 0; color:var(--muted); font-size:12px; word-break:break-word; }
.audit-item small { color:#839497; font-size:12px; }
.user-card { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:9px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:12px; }
.user-avatar { display:grid; width:38px; height:38px; place-items:center; border-radius:10px; background:var(--teal-100); color:var(--teal-800); font-size:13px; font-weight:900; }
.user-card strong,.user-card small { display:block; }
.user-card strong { font-size:13px; }
.user-card small { color:var(--muted); font-size:12px; }
.user-card .item-actions { grid-column:2; }
.user-card .item-actions { flex-wrap:wrap; }
.user-card .item-actions button { min-height:44px; }
.qr-print-note { display:grid; grid-template-columns:42px minmax(0,1fr); align-items:center; gap:12px; margin:-5px 0 17px; border:1px solid #cce0dd; border-radius:13px; background:var(--teal-50); padding:12px; }
.qr-print-note > span { display:grid; width:42px; height:42px; place-items:center; border-radius:11px; background:var(--teal-900); color:#fff; font-size:12px; font-weight:900; letter-spacing:.06em; }
.qr-print-note strong { color:var(--teal-900); font-size:13px; }
.qr-print-note p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.qr-download-card { --qr-tile-size:110px; display:grid; grid-template-columns:var(--qr-tile-size) minmax(0,1fr); align-items:stretch; gap:15px; min-width:0; border:1px solid var(--line); border-radius:14px; background:#fff; padding:13px; box-shadow:var(--shadow-sm); }
.qr-visual-column { display:grid; width:var(--qr-tile-size); align-content:start; gap:10px; }
.qr-preview { width:var(--qr-tile-size); aspect-ratio:1; overflow:hidden; border:1px solid var(--line); border-radius:10px; background-color:#fff; background-image:linear-gradient(45deg,#e8eeee 25%,transparent 25%),linear-gradient(-45deg,#e8eeee 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e8eeee 75%),linear-gradient(-45deg,transparent 75%,#e8eeee 75%); background-position:0 0,0 6px,6px -6px,-6px 0; background-size:12px 12px; }
.qr-download-card img { display:block; width:100%; height:100%; object-fit:contain; }
.qr-download-card__copy { display:flex; min-width:0; flex-direction:column; align-items:flex-start; }
.qr-download-meta { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.qr-format-label { border-radius:99px; background:var(--teal-100); color:var(--teal-800); padding:3px 7px; font-size:12px; font-weight:850; }
.qr-download-card h3 { margin:7px 0 2px; font-size:18px; }
.qr-download-card p { margin:0 0 10px; color:var(--muted); font-size:12px; }
.qr-download-card .button { width:fit-content; max-width:100%; }
.qr-download-actions { display:grid; width:min(100%,220px); gap:7px; }
.qr-download-actions .button { width:100%; min-height:48px; }
.qr-copy-button { border-color:var(--teal-900); background:#fff; color:var(--teal-900); box-shadow:none; }
.qr-copy-button:hover { border-color:var(--teal-700); background:var(--teal-50); }
.qr-download-hint { display:block; margin-top:7px; color:#7f9295; font-size:12px; line-height:1.45; }
.fixed-role-note { border-radius:11px; background:var(--teal-50); padding:12px; }
.fixed-role-note strong { color:var(--teal-900); font-size:13px; }
.fixed-role-note p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.fixed-role-note--danger { border:1px solid #efcaca; background:#fff3f3; }
.fixed-role-note--danger strong { color:var(--danger); }
.media-source-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; border-radius:14px; background:#f0f0f2; padding:4px; }
.media-source-tab { min-height:46px; border:0; border-radius:11px; background:transparent; color:#6e6e73; padding:8px 10px; font-size:15px; font-weight:800; }
.media-source-tab.is-active { background:#fff; color:#1d1d1f; box-shadow:0 1px 6px rgba(0,0,0,.09); }
#media-link-panel { display:grid; gap:12px; }
#media-link-panel[hidden] { display:none; }
.button--danger { border-color:var(--danger); background:var(--danger); color:#fff; box-shadow:0 8px 20px rgba(196,61,61,.18); }
.button--danger:hover { background:#a92f2f; }

@media (min-width:600px) {
  .support-process ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .current-product-state strong,.current-product-state span { font-size:15px; }
  .setup-card,.gate-card { padding:32px; }
  .production-page { padding:24px 20px 64px; }
  .network-state { display:inline-flex; }
  .user-card { grid-template-columns:38px minmax(0,1fr) auto; }
  .user-card .item-actions { grid-column:auto; }
  .qr-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:599px) {
  .product-overview-panel,.page-heading-row { align-items:stretch; flex-direction:column; }
  .editor-head-actions { justify-content:flex-start; }
  .variant-management__heading { align-items:stretch; flex-direction:column; }
  .variant-management__heading .button { width:100%; }
  .current-variant-row { grid-template-columns:minmax(0,1fr) minmax(105px,132px); align-items:end; }
  .current-variant-actions { grid-column:1/-1; justify-content:flex-start; }
}
@media (min-width:800px) {
  .support-home-hero { grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); padding:70px clamp(38px,7vw,100px); }
  .setup-shell,.admin-login-shell { grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr); }
  .setup-intro,.admin-login-intro { min-height:100vh; padding:48px clamp(38px,6vw,80px); }
  .qr-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (min-width:920px) {
  .production-admin { padding-left:280px; }
  .production-sidebar { width:280px; transform:none; }
  .production-sidebar-close,.production-menu-button,#admin-sidebar-backdrop { display:none !important; }
  .production-topbar { padding:14px 28px; }
  .production-page { padding:28px; }
  .product-admin-layout { grid-template-columns:260px minmax(0,1fr); align-items:start; }
  .product-list-panel { position:sticky; top:104px; }
}
@media (min-width:1220px) {
  .production-admin { padding-left:296px; }
  .production-sidebar { width:296px; padding-inline:20px; }
  .product-admin-layout { grid-template-columns:285px minmax(0,1fr); gap:20px; }
}
@media (max-width:389px) {
  .manual-topbar { padding-inline:14px; }
  .secure-note { font-size:12px; }
  .manual-topbar-actions { gap:7px; }
  .manual-home-link { padding-left:7px; font-size:12px; }
  .variant-options { gap:5px; }
  .variant-option { min-height:44px; padding-inline:3px; font-size:14px; }
  .content-block__header,.content-block__media-list,.content-block__description { padding-left:13px; padding-right:13px; }
  .support-home-header { padding-inline:14px; }
  .home-admin-link { font-size:12px; }
  .current-product-state--found { align-items:stretch; flex-direction:column; }
  .current-product-state--found .button { width:100%; }
  .product-overview-panel,.page-heading-row { align-items:stretch; flex-direction:column; }
  .editor-head-actions { justify-content:flex-start; }
  .production-save-bar span { display:none; }
  .production-save-bar .button { width:100%; }
  .qr-download-card { gap:11px; padding:11px; }
}

/* v9 · confirmed Apple-inspired product surfaces */
:root {
  --ink:#1d1d1f;
  --muted:#6e6e73;
  --line:rgba(0,0,0,.09);
  --paper:#fff;
  --canvas:#f5f5f7;
  --teal-950:#1d1d1f;
  --teal-900:#2c2c2e;
  --teal-800:#3a3a3c;
  --teal-700:#0071e3;
  --teal-600:#0077ed;
  --teal-100:#e8f2ff;
  --teal-50:#f3f8ff;
  --orange:#0071e3;
  --orange-dark:#0062c4;
  --orange-soft:#e8f2ff;
  --warning:#b54708;
  --warning-bg:#fff0e7;
  --success:#198754;
  --danger:#d70015;
  --shadow-sm:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.06);
  --shadow-lg:0 28px 80px rgba(0,0,0,.14);
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:26px;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC","Helvetica Neue",sans-serif;
}

body { background:var(--canvas); letter-spacing:-.006em; }
:focus-visible { outline-color:rgba(0,113,227,.42); }
.button { border-radius:999px; font-weight:600; box-shadow:none; }
.button--primary { border-color:#0071e3; background:#0071e3; }
.button--primary:hover { border-color:#0077ed; background:#0077ed; }
.button--secondary { border-color:var(--line); background:#fff; color:#1d1d1f; }
.button--secondary:hover,.button--ghost:hover { border-color:rgba(0,113,227,.24); background:#f3f8ff; color:#0071e3; }
.field > span { color:#515154; font-weight:600; }
.field input,.field textarea,.field select { border-color:rgba(0,0,0,.12); border-radius:14px; background:#fff; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:#0071e3; box-shadow:0 0 0 4px rgba(0,113,227,.1); }
.panel,.version-card,.audit-item,.user-card,.qr-download-card,.gate-card,.setup-card,.modal-card { border-color:var(--line); border-radius:22px; box-shadow:var(--shadow-sm); }

/* Public home */
.support-home-body { min-width:320px; min-height:100vh; background:#f5f5f7; }
.apple-site-nav {
  position:relative;
  z-index:20;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  min-height:64px;
  align-items:center;
  gap:14px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.78);
  padding:0 clamp(16px,4vw,42px);
  color:#1d1d1f;
  backdrop-filter:blur(24px) saturate(150%);
  -webkit-backdrop-filter:blur(24px) saturate(150%);
}
.apple-wordmark { color:#1d1d1f; font-size:15px; font-weight:650; letter-spacing:.13em; text-decoration:none; }
.apple-nav-title { color:#6e6e73; font-size:14px; text-align:center; white-space:nowrap; }
.home-admin-link,.manual-home-link { justify-self:end; border:0; padding:0; color:#6e6e73; font-size:14px; font-weight:500; text-decoration:none; white-space:nowrap; }
.home-admin-link:hover,.manual-home-link:hover { color:#0071e3; }
.support-home-main { min-height:calc(100vh - 123px); }
.support-home-hero,.support-home-hero.apple-home-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  gap:0;
  width:min(100% - 32px,920px);
  min-height:0;
  margin:0 auto;
  overflow:visible;
  background:transparent;
  color:#1d1d1f;
  padding:clamp(46px,8vw,76px) 0 52px;
  text-align:center;
}
.apple-home-hero h1 { display:grid; gap:7px; margin:0; font-size:clamp(48px,10vw,92px); font-weight:550; letter-spacing:-.065em; line-height:.98; }
.apple-home-hero h1 span:last-child { color:#6e6e73; font-size:.54em; letter-spacing:-.045em; }
.support-home-scan-copy { max-width:520px; margin:23px 0 0; color:#6e6e73; font-size:17px; line-height:25px; }
.apple-pill-button { min-height:48px; padding-inline:22px; }
.support-home-current { width:min(100%,520px); }
.current-product-state {
  justify-content:center;
  max-width:none;
  min-height:44px;
  margin-top:14px;
  border:0;
  border-radius:15px;
  background:transparent;
  padding:5px 8px;
  color:#6e6e73;
}
.current-product-state strong { color:#1d1d1f; }
.current-product-state .loader { width:18px; height:18px; border-color:rgba(0,113,227,.18); border-top-color:#0071e3; }
.current-product-state--found { justify-content:center; }
.support-brand-visual {
  position:relative;
  width:min(100%,680px);
  height:260px;
  margin-top:24px;
  overflow:hidden;
  border-radius:34px;
  background:radial-gradient(circle at 20% 30%,rgba(114,230,217,.48),transparent 34%),radial-gradient(circle at 82% 70%,rgba(255,166,121,.44),transparent 36%),#fff;
  box-shadow:0 24px 60px rgba(0,0,0,.1);
}
.support-brand-aura { position:absolute; z-index:0; width:190px; height:190px; border-radius:50%; filter:blur(34px); opacity:.58; }
.support-brand-aura--mint { top:-34px; left:8%; background:rgba(85,226,210,.58); animation:fishdt-aura-left 8s ease-in-out infinite alternate; }
.support-brand-aura--peach { right:8%; bottom:-42px; background:rgba(255,154,104,.5); animation:fishdt-aura-right 9.5s ease-in-out infinite alternate; }
.support-brand-orbit { position:absolute; z-index:1; top:50%; left:50%; border:1px solid rgba(39,100,111,.18); border-radius:50%; pointer-events:none; }
.support-brand-orbit::after { position:absolute; top:-4px; left:50%; width:8px; height:8px; transform:translateX(-50%); border-radius:50%; background:#fff; box-shadow:0 0 16px rgba(35,171,159,.72); content:""; }
.support-brand-orbit--one { width:min(74%,280px); height:min(44%,146px); animation:fishdt-orbit-clockwise 10s linear infinite; }
.support-brand-orbit--two { width:min(48%,184px); height:min(82%,224px); animation:fishdt-orbit-counter 13s linear infinite; }
.support-brand-sphere { position:absolute; z-index:2; top:50%; left:50%; display:grid; width:154px; height:154px; place-items:center; overflow:hidden; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle at 34% 25%,rgba(255,255,255,.95),transparent 22%),linear-gradient(145deg,#a8eee5,#ffd0b7); box-shadow:0 26px 48px rgba(0,0,0,.13); color:rgba(255,255,255,.92); font-size:26px; font-weight:550; letter-spacing:.12em; animation:fishdt-sphere-float 5.4s ease-in-out infinite,fishdt-sphere-breathe 7.8s ease-in-out infinite; }
.support-brand-sphere::before { position:absolute; inset:-25%; background:linear-gradient(110deg,transparent 34%,rgba(255,255,255,.42) 48%,transparent 62%); transform:translateX(-86%) rotate(10deg); animation:fishdt-sphere-shine 6.8s ease-in-out infinite; content:""; }
.support-brand-sphere > span { position:relative; z-index:1; }
@keyframes fishdt-aura-left { from { transform:translate3d(-12px,6px,0) scale(.92); } to { transform:translate3d(48px,22px,0) scale(1.12); } }
@keyframes fishdt-aura-right { from { transform:translate3d(14px,-10px,0) scale(1.08); } to { transform:translate3d(-54px,-24px,0) scale(.9); } }
@keyframes fishdt-orbit-clockwise { from { transform:translate(-50%,-50%) rotate(0); } to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes fishdt-orbit-counter { from { transform:translate(-50%,-50%) rotate(42deg); } to { transform:translate(-50%,-50%) rotate(-318deg); } }
@keyframes fishdt-sphere-float { 0%,100% { transform:translate(-50%,-50%) translateY(6px) rotate(-1deg); } 50% { transform:translate(-50%,-50%) translateY(-10px) rotate(1deg); } }
@keyframes fishdt-sphere-breathe { 0%,100% { filter:saturate(.96) brightness(1); } 50% { filter:saturate(1.14) brightness(1.045); } }
@keyframes fishdt-sphere-shine { 0%,25% { transform:translateX(-86%) rotate(10deg); opacity:0; } 42% { opacity:.75; } 64%,100% { transform:translateX(86%) rotate(10deg); opacity:0; } }
.apple-home-footer { justify-content:space-between; width:min(100% - 40px,1060px); margin:0 auto; border-top:1px solid var(--line); padding:20px 0 26px; color:#6e6e73; font-size:13px; }

/* Customer manual */
.manual-body { background:#f5f5f7; }
.manual-shell { width:min(100%,820px); background:#f5f5f7; box-shadow:none; }
.manual-topbar { position:sticky; z-index:30; top:0; padding:0 clamp(16px,4vw,32px); }
.manual-topbar .apple-wordmark { justify-self:start; }
.product-hero { margin:26px clamp(11px,3vw,26px) 18px; border-radius:26px; background:radial-gradient(circle at 92% 12%,rgba(139,230,218,.58),transparent 36%),#fff; color:#1d1d1f; padding:30px; box-shadow:0 18px 44px rgba(0,0,0,.1); }
.product-hero::after { display:none; }
.product-hero h1 { margin:0 0 10px; color:#1d1d1f; font-size:clamp(34px,7vw,56px); font-weight:550; letter-spacing:-.045em; }
.variant-picker { max-width:none; margin:0; }
.variant-picker > strong { color:#6e6e73; font-size:15px; font-weight:500; }
.variant-options { margin-top:12px; }
.variant-option { min-width:0; min-height:48px; overflow-wrap:anywhere; border-color:var(--line); border-radius:14px; background:rgba(255,255,255,.7); color:#1d1d1f; font-weight:600; line-height:1.35; }
.variant-option:hover { border-color:rgba(0,113,227,.34); background:#fff; }
.variant-option.is-active { border-color:#0071e3; background:#0071e3; box-shadow:none; }
.model-confirmation { margin-top:15px; border-color:var(--line); border-radius:14px; background:rgba(255,255,255,.72); }
.model-confirmation span { color:#6e6e73; }
.model-confirmation strong { border-radius:10px; background:#0071e3; }
.product-hero > p { margin:15px 0 0; color:#6e6e73; }
.manual-section { border:0; padding:0 clamp(11px,3vw,26px); }
.safety-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; margin-bottom:18px; border-radius:22px; background:#fff0e7; padding:22px; }
.safety-card .section-heading { display:contents; }
.safety-card .section-number { grid-row:1/3; width:48px; height:48px; border-radius:16px; background:rgba(255,255,255,.65); color:#b54708; }
.safety-card .section-heading h2 { margin:0; align-self:end; color:#1d1d1f; font-size:23px; font-weight:550; }
.safety-card .prose { grid-column:2; margin:0; border-left:3px solid #ff8a4c; padding-left:14px; color:#8a4b25; line-height:1.75; }
.manual-blocks-section { padding-bottom:0; }
.content-block-list { gap:14px; }
.content-block { border:0; border-radius:22px; box-shadow:0 12px 32px rgba(0,0,0,.08); }
.content-block__header { padding:18px 20px; }
.content-block__index { width:44px; height:44px; border-radius:14px; background:#1d1d1f; font-size:13px; }
.content-block__header h3 { color:#1d1d1f; font-size:20px; font-weight:550; }
.content-block__media-list { gap:12px; padding:16px 20px; }
.manual-media { border-radius:18px; background:#f1f1f3; }
.content-block__description { background:#fff; padding:18px 20px 21px; color:#6e6e73; line-height:1.75; }
.block-continuation { color:#6e6e73; font-weight:500; }
.manual-media__fullscreen { border-color:var(--line); border-radius:999px; color:#0071e3; }
.manual-media__fullscreen:hover,.manual-media__fullscreen:focus-visible { background:#f3f8ff; }
.support-card { margin:24px clamp(11px,3vw,26px) 34px; border-radius:24px; background:#fff; color:#1d1d1f; box-shadow:0 12px 32px rgba(0,0,0,.08); }
.support-kicker { color:#0071e3; }
.support-card p { color:#6e6e73; }
.support-model { border-top-color:var(--line); }
.manual-footer strong { color:#1d1d1f; }

/* Per-product customer popup */
body.customer-popup-open { overflow:hidden; }
.customer-popup-ad { position:fixed; z-index:150; inset:0; display:grid; place-items:center; background:rgba(19,23,29,.36); padding:18px; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
.customer-popup-ad[hidden] { display:none; }
.customer-popup-ad__card { position:relative; display:grid; width:min(100%,520px); max-height:calc(100dvh - 36px); overflow-y:auto; gap:15px; border-radius:28px; background:#fff; padding:34px 28px 28px; box-shadow:0 30px 90px rgba(0,0,0,.22); text-align:center; }
.customer-popup-ad__close { position:absolute; top:12px; right:12px; display:grid; width:44px; height:44px; place-items:center; border:0; border-radius:50%; background:#f1f1f3; color:#6e6e73; font-size:22px; }
.customer-popup-ad__kicker { color:#6e6e73; font-size:13px; font-weight:600; letter-spacing:.12em; }
.customer-popup-ad h2 { margin:3px 28px 0; color:#d70015; font-size:clamp(29px,8vw,42px); font-weight:650; letter-spacing:-.04em; line-height:1.1; }
.customer-popup-ad p { margin:0; border-radius:18px; background:#fff0e7; padding:18px; color:#b54708; font-size:18px; font-weight:550; line-height:1.8; white-space:pre-wrap; }
.customer-popup-ad .button { justify-self:center; min-width:150px; }

/* Admin, login and setup */
.admin-body,.setup-body { background:#f5f5f7; }
.admin-gate { background:radial-gradient(circle at 25% 25%,rgba(115,229,216,.55),transparent 36%),radial-gradient(circle at 78% 78%,rgba(255,170,126,.46),transparent 38%),#fff; }
.admin-login-shell,.setup-shell { background:#f5f5f7; }
.admin-login-intro,.setup-intro { background:radial-gradient(circle at 22% 22%,rgba(115,229,216,.6),transparent 36%),radial-gradient(circle at 80% 80%,rgba(255,170,126,.5),transparent 38%),#fff; color:#1d1d1f; }
.admin-login-intro h1,.setup-intro h1 { font-weight:550; }
.admin-login-intro p,.setup-intro p { color:#6e6e73; }
.login-security-note,.setup-intro ul { color:#6e6e73; }
.login-security-note strong,.setup-intro li::before { color:#0071e3; }
.admin-login-form-wrap,.setup-form-area { background:#f5f5f7; }
.brand--light,.brand--light small { color:#1d1d1f; }
.brand-mark { border-radius:13px; background:#1d1d1f; box-shadow:none; }
.production-sidebar { border-right:1px solid var(--line); background:#fff; color:#1d1d1f; }
.production-sidebar-close { border-color:var(--line); background:#f1f1f3; color:#1d1d1f; }
.current-user-card { border-color:var(--line); background:#f5f5f7; }
.current-user-card > span { background:#1d1d1f; color:#fff; }
.current-user-card small,.production-nav small,.production-sidebar__rule p { color:#6e6e73; }
.current-user-card__actions { border-top-color:var(--line); }
.current-user-card__actions button { color:#0071e3; }
.production-nav button { color:#515154; }
.production-nav button:hover,.production-nav button.is-active { border-color:transparent; background:#e8f2ff; color:#0071e3; }
.production-nav__icon { background:#f1f1f3; color:#6e6e73; }
.production-nav button.is-active .production-nav__icon { background:#0071e3; color:#fff; }
.production-sidebar__rule { background:#f5f5f7; }
.production-sidebar__rule strong { color:#1d1d1f; }
.production-logout { color:#6e6e73; }
.production-topbar { border-bottom-color:var(--line); background:rgba(255,255,255,.82); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); }
.role-badge--super,.role-badge--employee { background:#f1f1f3; color:#6e6e73; }
.production-product-card { border-color:var(--line); border-radius:16px; background:#fff; }
.production-product-card.is-active { border-color:rgba(0,113,227,.28); box-shadow:inset 3px 0 #0071e3; }
.product-icon { background:#f1f1f3; color:#1d1d1f; }
.production-product-card__header { grid-template-columns:44px minmax(0,1fr); }
.product-icon--upload { width:44px; height:44px; overflow:hidden; border:0; border-radius:12px; padding:0; cursor:pointer; }
.product-icon--upload img { width:100%; height:100%; object-fit:cover; }
.production-product-card__copy { min-width:0; border:0; background:transparent; padding:0; color:inherit; text-align:left; }
.production-variant-links button,.variant-tabs button { border-color:var(--line); border-radius:999px; background:#fff; color:#6e6e73; }
.production-variant-links button.is-active,.variant-tabs button.is-active { border-color:#1d1d1f; background:#1d1d1f; color:#fff; }
.variant-management,.block-editor-item,.media-editor-area { border-color:var(--line); background:#f5f5f7; }
.panel-index { color:#0071e3; }
.production-save-bar { border-color:var(--line); border-radius:18px; background:rgba(255,255,255,.88); box-shadow:0 -8px 30px rgba(0,0,0,.06); }
.qr-print-note { border-color:var(--line); border-radius:18px; background:#f1f1f3; }
.qr-print-note > span { background:#1d1d1f; }
.qr-print-note strong { color:#1d1d1f; }
.qr-format-label { background:#e8f2ff; color:#0071e3; }
.qr-copy-button { border-color:var(--line); color:#1d1d1f; }
.qr-download-actions { width:min(100%,280px); }
.popup-ad-status { display:inline-flex; min-height:28px; align-items:center; margin:0 0 10px; border-radius:999px; background:#f1f1f3; padding:3px 10px; color:#6e6e73; font-size:12px; font-weight:600; }
.popup-ad-status.is-enabled { background:#e4f6ef; color:#14645b; }
.qr-product-identity { display:block; width:100%; margin:0 0 10px; }
.qr-product-identity h3 { margin:0; }
.qr-product-identity p { margin:2px 0 0; }
.qr-product-image { display:grid; width:var(--qr-tile-size); height:var(--qr-tile-size); place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:#f1f1f3; padding:4px; color:#6e6e73; font-size:12px; }
.qr-product-image img { width:100%; height:100%; border-radius:6px; object-fit:cover; }
.qr-visit-count { display:flex; align-items:baseline; align-self:flex-end; justify-content:flex-end; gap:8px; margin:auto 0 0; padding:14px 0 0; text-align:right; }
.qr-visit-count strong { color:#1d1d1f; font-size:24px; line-height:1; }
.qr-visit-count span { color:#6e6e73; font-size:13px; }
.audit-summary-panel { display:grid; gap:14px; margin-bottom:20px; border:1px solid var(--line); border-radius:22px; background:#fff; padding:18px; box-shadow:var(--shadow-sm); }
.audit-summary-panel h3 { margin:4px 0; font-size:22px; }
.audit-summary-panel p { margin:0; color:#6e6e73; font-size:14px; }
.audit-summary-list { display:grid; gap:10px; }
.audit-summary-card { display:grid; gap:10px; border-radius:16px; background:#f5f5f7; padding:14px; }
.audit-summary-card__heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.audit-summary-card__heading span { border-radius:999px; background:#e8f2ff; padding:3px 9px; color:#0071e3; font-size:12px; }
.audit-summary-card__heading span.is-deleted { background:#f1f1f3; color:#6e6e73; }
.audit-summary-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:0; }
.audit-summary-counts div { border-radius:12px; background:#fff; padding:10px; }
.audit-summary-counts dt { color:#6e6e73; font-size:12px; }
.audit-summary-counts dd { margin:4px 0 0; color:#1d1d1f; font-size:22px; font-weight:650; }
.audit-summary-empty { padding:12px; text-align:center; }
.media-processing-state { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:12px; border-radius:16px; background:#f3f8ff; padding:14px; }
.media-processing-state[hidden] { display:none; }
.media-processing-state strong,.media-processing-state p { display:block; margin:0; }
.media-processing-state p { margin-top:3px; color:#6e6e73; font-size:14px; line-height:1.5; }

/* Admin media thumbnails and in-place large preview */
.media-editor-item { grid-template-columns:150px minmax(0,1fr); gap:12px; border-color:var(--line); border-radius:16px; background:#fff; padding:12px; }
.admin-media-thumbnail { display:block; width:150px; min-height:0; overflow:hidden; border:0; border-radius:13px; background:#08090a; padding:0; }
.admin-media-thumbnail__stage,.admin-media-thumbnail__media { position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; }
.admin-media-thumbnail__media img,.admin-media-thumbnail__media video { width:100%; height:100%; background:#0b1112; object-fit:cover; }
.admin-media-thumbnail__media.has-error img,.admin-media-thumbnail__media.has-error video { opacity:0; }
.admin-media-thumbnail__media.has-error { background:radial-gradient(circle at 50% 42%,rgba(97,203,188,.48),transparent 34%),linear-gradient(145deg,#0c2527,#071112); }
.admin-media-thumbnail__fallback { display:grid; width:100%; height:100%; place-items:center; background:radial-gradient(circle at 50% 42%,rgba(97,203,188,.48),transparent 34%),linear-gradient(145deg,#0c2527,#071112); color:#fff; }
.admin-media-thumbnail__icon { position:absolute; top:50%; left:50%; display:grid; width:44px; height:44px; place-items:center; transform:translate(-50%,-50%); border-radius:50%; background:rgba(255,255,255,.9); color:#1d1d1f; font-size:17px; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.admin-media-summary { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:6px 10px; min-width:0; }
.admin-media-summary .media-type-badge { width:auto; height:28px; border-radius:999px; background:#e8f2ff; color:#0071e3; padding:0 10px; }
.admin-media-summary .media-type-badge.is-image { background:#fff0e7; color:#b54708; }
.admin-media-ready { overflow:hidden; font-size:14px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.admin-media-summary .media-storage-state { grid-column:1; }
.media-order-state { overflow:hidden; color:#6e6e73; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.media-size-state { color:#6e6e73; font-size:12px; line-height:1.45; }
.media-size-state strong { color:#1d1d1f; font-weight:650; }
.media-editor-item .admin-media-actions { grid-column:1/-1; display:grid; grid-template-columns:repeat(5,minmax(44px,1fr)); justify-self:stretch; gap:4px; }
.admin-media-actions button { min-height:44px; border:0; border-radius:999px; background:transparent; color:#6e6e73; font-size:12px; }
.admin-media-actions button:first-child { color:#0071e3; }
.admin-media-actions .danger-link { color:#d70015; }
.admin-media-preview-modal { position:fixed; inset:0; width:auto; max-width:none; height:auto; max-height:none; margin:0; border:0; background:transparent; padding:12px; color:inherit; }
.admin-media-preview-modal[open] { display:grid; place-items:center; }
.admin-media-preview-modal::backdrop { background:rgba(0,0,0,.62); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.admin-media-preview-card { display:grid; width:min(100%,850px); max-height:calc(100dvh - 24px); grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden; border-radius:24px; background:#050607; color:#fff; box-shadow:0 28px 90px rgba(0,0,0,.42); }
.admin-media-preview-card > header { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid rgba(255,255,255,.12); padding:7px 12px 7px 18px; }
.admin-media-preview-card > header strong { font-weight:550; }
.admin-media-preview-card .icon-button { width:44px; height:44px; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.12); color:#fff; }
.admin-media-preview-stage { display:grid; min-height:220px; place-items:center; overflow:hidden; aspect-ratio:16/9; background:radial-gradient(circle at 50% 42%,rgba(67,116,108,.5),transparent 36%),#050607; }
.admin-media-preview-stage img,.admin-media-preview-stage video { width:100%; height:100%; max-height:calc(100dvh - 150px); background:#000; object-fit:contain; }
.admin-media-preview-stage iframe { width:100%; min-height:min(70dvh,680px); border:0; background:#000; }
.admin-media-preview-card > p { margin:0; padding:10px 16px; color:rgba(255,255,255,.62); font-size:12px; text-align:center; }
.admin-media-preview-card > p a { display:inline-flex; min-height:44px; align-items:center; color:#7ab8ff; font-size:14px; font-weight:750; text-decoration:underline; text-underline-offset:3px; }

/* Popup ad editor */
.popup-ad-modal .modal-card { width:min(100%,560px); }
.popup-ad-switch-row { display:flex; min-height:70px; align-items:center; justify-content:space-between; gap:16px; border-radius:18px; background:#f1f1f3; padding:13px 15px; cursor:pointer; }
.popup-ad-switch-row > span { min-width:0; }
.popup-ad-switch-row strong,.popup-ad-switch-row small { display:block; }
.popup-ad-switch-row strong { font-size:15px; }
.popup-ad-switch-row small { margin-top:3px; color:#6e6e73; font-size:12px; }
.popup-ad-switch-row input { width:48px; height:28px; flex:0 0 auto; accent-color:#34c759; }
.popup-ad-note { margin:0; color:#6e6e73; font-size:13px; line-height:1.6; }

@media (min-width:800px) {
  .support-home-hero,.support-home-hero.apple-home-hero { grid-template-columns:minmax(0,1fr); padding:70px 0 58px; }
  .admin-login-intro,.setup-intro { padding:50px clamp(40px,6vw,76px); }
  .qr-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:599px) {
  .apple-site-nav { grid-template-columns:1fr auto; min-height:60px; }
  .apple-nav-title { display:none; }
  .support-home-hero,.support-home-hero.apple-home-hero { width:min(100% - 26px,920px); padding:48px 0 42px; }
  .apple-home-hero h1 { font-size:clamp(44px,16vw,62px); }
  .support-home-scan-copy { max-width:350px; font-size:17px; }
  .support-brand-visual { height:235px; margin-top:20px; border-radius:28px; }
  .support-brand-sphere { width:138px; height:138px; }
  .apple-home-footer { width:min(100% - 32px,1060px); }
  .apple-home-footer span:last-child { display:none; }
  .product-hero { padding:24px 20px; }
  .product-hero h1 { font-size:clamp(32px,11vw,45px); }
  .variant-options { gap:7px; }
  .safety-card { grid-template-columns:44px minmax(0,1fr); padding:18px; }
  .safety-card .section-number { width:44px; height:44px; }
  .safety-card .prose { font-size:17px; }
  .content-block__header,.content-block__media-list,.content-block__description { padding-left:15px; padding-right:15px; }
  .media-editor-item { grid-template-columns:minmax(0,1fr); }
  .admin-media-thumbnail { width:100%; }
  .admin-media-summary { grid-template-columns:auto 1fr; }
  .media-editor-item .admin-media-actions { grid-column:1; grid-template-columns:repeat(3,minmax(44px,1fr)); }
  .qr-download-card { --qr-tile-size:96px; }
  .qr-download-actions { width:100%; }
  .audit-summary-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .customer-popup-ad__card { padding:32px 20px 22px; }
  .customer-popup-ad h2 { margin-inline:22px; }
}

@media (max-width:339px) {
  .support-brand-visual { height:215px; }
  .support-brand-sphere { width:124px; height:124px; }
  .qr-download-card { --qr-tile-size:76px; gap:9px; }
  .admin-media-actions button { padding-inline:2px; }
}

@media (max-width:479px) {
  .current-product-state--found { align-items:stretch; flex-direction:column; }
  .current-product-state--found .button { width:100%; }
  .production-save-bar span { display:none; }
  .production-save-bar .button { width:100%; }
}

@media (max-width:359px) {
  .form-actions { flex-wrap:wrap; }
  .form-actions .button { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  .support-brand-aura,.support-brand-orbit,.support-brand-sphere,.support-brand-sphere::before { animation:none !important; }
}
