:root{
  --bg:#0c0d10;
  --bg-soft:rgba(255,255,255,0.03);
  --card:#12141a;
  --card2:#171a22;
  --text:#f2f4f8;
  --muted:rgba(242,244,248,0.72);
  --line:rgba(255,255,255,0.10);
  --fire:#ffcc00;
  --accent:#852020;
  --ok:#2ecc71;
  --warn:#f39c12;
  --bad:#e74c3c;
  /* Form controls – dark theme (μαυρο ασπρο) */
  --ctrl-bg:#1a1a1a;
  --ctrl-text:#f2f4f8;
  --option-bg:#171a22;
  --option-text:#f2f4f8;
  --select-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23ffcc00' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:radial-gradient(1200px 600px at 15% 0%, rgba(255,204,0,0.09), transparent 60%),
             radial-gradient(900px 700px at 90% 15%, rgba(133,32,32,0.16), transparent 60%),
             var(--bg);
  color:var(--text);
  overflow-x:hidden;
}
/* Merchant admin dashboard — ~90% density on desktop (uniform scale, keeps flex/grid intact) */
@media (min-width: 769px) {
  body.adm1n-dashboard {
    zoom: 0.9;
  }
}
body.admin-view-mode-on{
  padding-top:42px;
}
.admin-view-mode-banner{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0.5rem 0.75rem;
  padding:0.4rem 1rem;
  background:linear-gradient(90deg,#1a3a52,#2a5580);
  color:#e8f4ff;
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.02em;
  box-shadow:0 2px 14px rgba(0,0,0,0.35);
}
.admin-view-mode-banner.hidden{display:none !important}
.admin-view-mode-sep{opacity:0.65;font-weight:400}
.admin-view-mode-exit{
  color:#fff !important;
  border:1px solid rgba(255,255,255,0.35) !important;
  padding:0.2rem 0.65rem !important;
  font-size:0.78rem !important;
  min-height:auto !important;
}
.admin-view-mode-exit:hover{
  background:rgba(255,255,255,0.12) !important;
}
.hidden{display:none !important}
.muted{color:var(--muted)}
.tiny{font-size:0.78rem;line-height:1.35}

.admin-top{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;
  padding:14px 20px;
  border-bottom:1px solid var(--line);
  background:rgba(12,13,16,0.85);
  backdrop-filter:blur(10px);
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  flex-wrap:wrap;
}
.admin-top-lead{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
  flex:1 1 auto;
  min-width:0;
}
.admin-top-brand{
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
}
.brand .logo.admin-brand-shop-name{
  font-weight:800;
  letter-spacing:0.01em;
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-size:1.36rem;
  line-height:1.25;
  color:rgba(242,244,248,0.98);
}
.brand .logo{font-weight:900;letter-spacing:1px;white-space:nowrap}
.brand .subtitle{font-size:0.85rem;color:var(--muted);margin-top:2px;white-space:nowrap}
.admin-user{
  font-size:0.82rem;
  color:var(--muted);
  white-space:nowrap;
  max-width:min(240px, 30vw);
  overflow:hidden;
  text-overflow:ellipsis;
  flex:0 1 auto;
  line-height:1.2;
}
/* Scrollport: bounded width; toolbar fits without horizontal scroll on desktop */
.top-actions{
  flex:0 0 auto;
  min-width:0;
  max-width:100%;
  overflow:visible;
}
.admin-header-toolbar{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.admin-header-primary{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  min-width:0;
}
.admin-top-lead .admin-header-primary{
  margin-right:0;
}
.admin-header-utilities{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex:0 0 auto;
}
/* Square icon controls — tooltips via title / aria-label */
.admin-icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  padding:0;
  margin:0;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.06);
  color:rgba(242,244,248,0.92);
  cursor:pointer;
  flex:0 0 auto;
  box-sizing:border-box;
  text-decoration:none;
  font:inherit;
  line-height:1;
  position:relative;
  transition:background .15s ease,border-color .15s ease,color .15s ease,transform .12s ease;
}
.admin-icon-btn:hover{
  background:rgba(255,255,255,0.1);
  border-color:rgba(255,204,0,0.28);
  color:#ffe9a8;
}
.admin-icon-btn:active{
  transform:scale(0.97);
}
.admin-icon-btn i{
  font-size:1rem;
  line-height:1;
  pointer-events:none;
}
.admin-icon-btn__input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  margin:0;
  pointer-events:none;
}
.admin-icon-btn--ghost{
  background:transparent;
}
.admin-icon-btn--ghost:hover{
  background:rgba(255,255,255,0.08);
}
/* Hybrid: icon + short label (delivery mode, logout) */
.admin-icon-btn--labeled{
  width:auto;
  min-width:40px;
  height:40px;
  padding:0 11px;
  gap:6px;
  border-radius:999px;
  white-space:nowrap;
  flex-shrink:0;
}
.admin-icon-btn__label{
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.02em;
  line-height:1;
  pointer-events:none;
}
.privacy-mode-toggle:has(input:checked),
.admin-icon-btn.is-open{
  background:rgba(255,213,74,0.14);
  border-color:rgba(255,213,74,0.42);
  color:#ffe9a8;
  box-shadow:0 0 0 1px rgba(255,213,74,0.12);
}
.header-wallet-compact{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:40px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.05);
  font-size:0.82rem;
  font-weight:800;
  cursor:pointer;
  user-select:none;
  white-space:nowrap;
  flex:0 0 auto;
  box-sizing:border-box;
}
.header-wallet-compact:focus-visible{
  outline:2px solid var(--accent, #5ac8fa);
  outline-offset:2px;
}
.header-wallet-compact > i{
  font-size:0.9rem;
  color:var(--muted);
  flex:0 0 auto;
}
.header-wallet-badge{
  font-weight:900;font-variant-numeric:tabular-nums;padding:2px 0;
}
.header-wallet-ok{color:#5ee397;border-color:rgba(46,204,113,0.35);background:rgba(46,204,113,0.12)}
.header-wallet-low{color:#ffb4b4 !important;background:rgba(231,76,60,0.22) !important;border:1px solid rgba(231,76,60,0.45)!important;padding:2px 8px !important;border-radius:8px !important}
.header-wallet-warn{color:var(--warn)}
.topup-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.btn-topup{min-width:88px}
.wallet-tx-list{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow:auto;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,0.03)}
.wallet-tx-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:0.85rem;border-bottom:1px dashed rgba(255,255,255,0.08);padding-bottom:6px}
.wallet-tx-row:last-child{border-bottom:0}
.wallet-tx-row--credit .wallet-tx-line{color:#7dffb8;font-weight:800}
.wallet-tx-line{font-weight:700;color:rgba(242,244,248,0.92)}
.wallet-tx-ts{flex-shrink:0}
.buy-credits-card{max-width:420px}
.header-shop-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  max-width:min(100%, 520px);
}

/* Smart header — compact bar + collapsible profile (mobile); single scrollable row on desktop */
.admin-header-compact{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  flex-wrap:nowrap;
}
.admin-header-compact-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  flex-wrap:nowrap;
}
.admin-header-compact-controls > *,
.admin-header-profile-panel > *{
  flex:0 0 auto;
}
.admin-header-profile-toggle{
  display:none !important;
}
.admin-header-profile-panel{
  display:none !important;
}
.header-shop-name{
  font-weight:800;
  font-size:0.92rem;
  color:rgba(242,244,248,0.95);
  letter-spacing:0.02em;
  white-space:normal;
  flex:1 1 auto;
  max-width:none;
  overflow:visible;
  text-overflow:unset;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.25;
}
.store-open-toggle{
  appearance:none;
  -webkit-appearance:none;
  border-radius:999px;
  padding:8px 14px;
  font:inherit;
  font-weight:800;
  font-size:0.78rem;
  letter-spacing:0.02em;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform .12s ease, box-shadow .15s ease, filter .15s ease;
  white-space:nowrap;
}
.store-open-toggle:disabled{
  opacity:0.55;
  cursor:not-allowed;
  transform:none;
}
.store-open-toggle:not(:disabled):active{
  transform:scale(0.98);
}
.store-open-toggle--online{
  color:#0b2d18;
  background:linear-gradient(180deg, #7ee8a8, #3ecf7a);
  border-color:rgba(21, 128, 61, 0.55);
  box-shadow:0 4px 14px rgba(46, 204, 113, 0.28);
}
.store-open-toggle--offline{
  color:#fff8f6;
  background:linear-gradient(180deg, #f28b82, #e74c3c);
  border-color:rgba(192, 57, 43, 0.55);
  box-shadow:0 4px 14px rgba(231, 76, 60, 0.35);
}
.view-storefront-btn--pending{
  cursor:wait;
  opacity:0.85;
}
.view-storefront-btn--pending:hover{
  transform:none;
}
.view-storefront-btn--pending .view-storefront-btn__icon{
  animation:view-storefront-hourglass 1.4s ease-in-out infinite;
}
@keyframes view-storefront-hourglass{
  0%,100%{opacity:0.55;transform:rotate(0deg)}
  50%{opacity:1;transform:rotate(180deg)}
}
.view-storefront-btn--error{
  cursor:not-allowed;
  border-color:rgba(231, 76, 60, 0.45);
  color:#ffb4a8;
}
.view-storefront-btn--error:hover{
  transform:none;
  background:rgba(231, 76, 60, 0.12);
}
.view-storefront-btn--error .view-storefront-btn__icon{
  color:#ff8a7a;
}
.store-delivery-mode-btn:disabled,
.admin-icon-btn:disabled{
  opacity:0.55;
  cursor:not-allowed;
  transform:none;
}
/* Full-text delivery pill — must not inherit .admin-icon-btn square sizing */
.admin-header-primary > .store-delivery-mode-btn,
button#storeDeliveryModeBtn.store-delivery-mode-btn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:0;
  max-width:none !important;
  height:auto !important;
  min-height:40px;
  padding:8px 14px !important;
  margin:0;
  border-radius:999px !important;
  font:inherit;
  font-weight:800;
  font-size:0.78rem;
  letter-spacing:0.02em;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform .12s ease, box-shadow .15s ease, filter .15s ease;
  white-space:nowrap;
  flex:0 0 auto;
  line-height:1.15;
  box-sizing:border-box;
  position:static;
}
.store-delivery-mode-btn__text{
  display:inline;
  white-space:nowrap;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  pointer-events:none;
}
.store-delivery-mode-btn:not(:disabled):active{
  transform:scale(0.98);
}
.store-delivery-mode-btn--all{
  color:rgba(242,244,248,0.9);
  background:rgba(24,28,36,0.92);
  border-color:rgba(230,126,34,0.55);
  box-shadow:0 2px 10px rgba(0,0,0,0.22);
}
.store-delivery-mode-btn--pickup{
  color:#3a2a00;
  background:linear-gradient(180deg, #ffe08a, #f5b041);
  border-color:rgba(180,120,20,0.72);
  box-shadow:0 4px 14px rgba(245, 176, 65, 0.38);
}
.conn-pill-icon{
  width:40px;
  padding:0;
}
.conn-pill-icon .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:currentColor;
}
.conn-pill-icon.online{
  color:#79e1a7;
  background:rgba(46,204,113,0.16);
  border-color:rgba(46,204,113,0.35);
}
.conn-pill-icon.online .dot{
  animation:connPulse 1.15s ease-in-out infinite;
}
.conn-pill-icon.offline{
  color:#ffb2a8;
  background:rgba(231,76,60,0.15);
  border-color:rgba(231,76,60,0.35);
}
.conn-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:0.78rem;
  font-weight:800;
  letter-spacing:0.2px;
  white-space:nowrap;
  flex:0 0 auto;
}
.conn-pill .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:currentColor;
  flex:0 0 auto;
}
.conn-pill.online{
  color:#79e1a7;
  background:rgba(46,204,113,0.16);
  border-color:rgba(46,204,113,0.35);
}
.conn-pill.online .dot{
  animation:connPulse 1.15s ease-in-out infinite;
}
.conn-pill.offline{
  color:#ffb2a8;
  background:rgba(231,76,60,0.15);
  border-color:rgba(231,76,60,0.35);
}
@keyframes connPulse{
  0%{transform:scale(1);opacity:1}
  50%{transform:scale(1.35);opacity:.55}
  100%{transform:scale(1);opacity:1}
}

.admin-shell{max-width:100%;margin:0 auto;padding:20px}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px;
  box-shadow:0 18px 45px rgba(0,0,0,0.45);
}
.login-card{
  position:relative;
  max-width:460px;
  margin:48px auto;
  padding-top:28px;
  overflow:hidden;
}
.login-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg, rgba(255,204,0,0.55), var(--fire), rgba(255,204,0,0.55));
}
.login-card__brand{
  text-align:center;
  margin-bottom:10px;
}
.login-card__mark{
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--fire);
}
.brand-icon{
  display:block;
  width:34px;
  height:34px;
  margin:0 auto;
  color:var(--fire);
}
.login-card__brand-title{
  margin:0;
  font-size:1.28rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  line-height:1.25;
  color:var(--text);
}
.login-card__subtitle{
  margin:0;
  text-align:center;
  font-size:0.92rem;
  line-height:1.45;
}

/* Shared partner-portal chrome (login, auth-action, onboarding) */
.portal-brand{
  text-align:center;
  margin-bottom:22px;
}
.portal-brand__mark{
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--fire);
}
.portal-brand__title{
  margin:0;
  font-size:1.28rem;
  font-weight:700;
  letter-spacing:0.03em;
  line-height:1.25;
  color:var(--text);
}
.portal-brand__tagline{
  margin:6px 0 0;
  font-size:0.9rem;
  line-height:1.45;
}
.portal-surface{
  position:relative;
  overflow:hidden;
  padding-top:24px;
}
.portal-surface::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg, rgba(255,204,0,0.55), var(--fire), rgba(255,204,0,0.55));
}

/* Password / invite action page */
body.auth-action-body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px 16px 32px;
  box-sizing:border-box;
}
.auth-action-shell{
  width:100%;
  max-width:480px;
}
.auth-action-portal-brand{
  margin-bottom:20px;
}
.auth-action-card{
  padding:22px 20px 20px;
}
.auth-action-card h1{
  margin:0 0 8px;
  font-size:1.22rem;
  font-weight:700;
  line-height:1.35;
  color:var(--text);
}
.auth-action-card .lead{
  margin:0 0 18px;
  color:var(--muted);
  font-size:0.92rem;
  line-height:1.5;
}
.auth-action-email{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin:0 0 16px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,204,0,0.22);
  font-size:0.88rem;
  word-break:break-all;
  color:var(--text);
  text-align:center;
}
.auth-action-pw-wrap{
  position:relative;
}
.auth-action-pw-wrap input{
  padding-right:42px;
}
.auth-action-pw-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  padding:6px;
  line-height:1;
}
.auth-action-pw-toggle:hover{
  color:var(--fire);
}
.auth-action-pw-hint{
  margin:6px 0 0;
  font-size:0.78rem;
  color:var(--muted);
}
.auth-action-terms{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:10px;
  margin:4px 0 2px;
  font-size:0.86rem;
  line-height:1.45;
  color:var(--muted);
  cursor:pointer;
  text-align:left;
}
.auth-action-terms > span{
  display:inline;
  flex:1;
  margin:0;
  font-size:inherit;
  color:inherit;
}
.auth-action-terms input[type="checkbox"]{
  width:auto;
  min-width:1rem;
  height:1rem;
  margin:2px 0 0;
  padding:0;
  flex-shrink:0;
  border-radius:4px;
  box-shadow:none;
  accent-color:var(--fire);
}
.auth-action-terms a{
  color:var(--fire);
  font-weight:700;
  text-decoration:none;
}
.auth-action-terms a:hover{
  text-decoration:underline;
}
.auth-action-terms--required{
  border:1px solid rgba(255,138,128,0.55);
  border-radius:10px;
  padding:10px 12px;
  background:rgba(255,138,128,0.08);
}
.auth-action-terms-gate-hint{
  margin:-4px 0 0;
  font-size:0.8rem;
  line-height:1.4;
  color:rgba(255,204,0,0.88);
}
.auth-action-terms-error{
  margin:0;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,138,128,0.55);
  background:rgba(255,138,128,0.1);
  color:#ffb2a8;
  font-size:0.84rem;
  line-height:1.45;
}
.auth-action-card .btn-primary:disabled,
.auth-action-card .btn-primary[disabled]{
  opacity:1;
  cursor:not-allowed;
  pointer-events:none;
  border-color:rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.05);
  color:rgba(242,244,248,0.45);
  box-shadow:none;
}
.auth-action-submit-wrap.is-blocked{
  cursor:not-allowed;
}
.auth-action-submit-wrap.is-blocked .btn-primary{
  opacity:1;
  border-color:rgba(255,255,255,0.1);
  background:rgba(255,255,255,0.05);
  color:rgba(242,244,248,0.45);
  box-shadow:none;
}
.wallet-topup-disclaimer{
  margin:8px 0 0;
  max-width:42rem;
  line-height:1.45;
}
.buy-credits-topup-disclaimer{
  margin:0 0 12px;
  line-height:1.45;
}
.auth-action-state{
  text-align:center;
  padding:28px 12px 24px;
}
.auth-action-state .spinner{
  width:40px;
  height:40px;
  margin:0 auto 14px;
  border:3px solid rgba(255,204,0,0.2);
  border-top-color:var(--fire);
  border-radius:50%;
  animation:auth-action-spin 0.8s linear infinite;
}
@keyframes auth-action-spin{ to{ transform:rotate(360deg); } }
.auth-action-success i{
  font-size:2rem;
  color:var(--ok);
  margin-bottom:10px;
}
.auth-action-foot{
  margin:16px 0 0;
  text-align:center;
  font-size:0.76rem;
  color:var(--muted);
  line-height:1.45;
}
.auth-action-card .form{
  margin-top:4px;
}
.auth-action-card .msg.hidden,
.auth-action-card .msg:empty{
  display:none;
}

.forgot-password-link{
  font-size:0.85rem;
  color:#aaa;
  text-align:center;
  margin-top:15px;
  cursor:pointer;
  user-select:none;
}
.forgot-password-link:hover{
  text-decoration:underline;
  color:var(--fire);
}
body.dark .forgot-password-link{
  color:rgba(248, 250, 252, 0.55);
}
body.dark .forgot-password-link:hover{
  color:var(--fire);
}
.form{display:flex;flex-direction:column;gap:12px;margin-top:14px}
label span{display:block;font-size:0.85rem;color:var(--muted);margin-bottom:6px}
input.input, input, select.select, select, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background-color:var(--ctrl-bg);
  color:var(--ctrl-text);
  outline:none;
}
input:focus, select:focus{border-color:rgba(255,204,0,0.55);box-shadow:0 0 0 4px rgba(255,204,0,0.10)}

/* Custom native selects — dark list, gold chevron, matches admin chrome */
select.select,
.form select,
.admin-modal select,
.admin-select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  min-height:46px;
  padding:12px 42px 12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,204,0,0.22);
  background-color:var(--ctrl-bg);
  background-image:var(--select-chevron);
  background-repeat:no-repeat;
  background-position:right 12px center;
  background-size:18px 18px;
  color:var(--ctrl-text);
  font-weight:600;
  font-size:0.92rem;
  line-height:1.25;
  cursor:pointer;
  color-scheme:dark;
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
select.select:hover,
.form select:hover,
.admin-modal select:hover,
.admin-select:hover{
  border-color:rgba(255,204,0,0.38);
  background-color:#1e2129;
}
select.select:focus,
.form select:focus,
.admin-modal select:focus,
.admin-select:focus{
  border-color:rgba(255,204,0,0.55);
  box-shadow:0 0 0 4px rgba(255,204,0,0.12);
  outline:none;
}
.admin-select-field .admin-select-wrap{
  display:block;
  position:relative;
}
.admin-select-field .admin-select-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
}

/* Custom combobox (rounded panel) — used where native <select> list cannot be styled */
.admin-custom-select{
  position:relative;
  width:100%;
}
.admin-custom-select__native{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.admin-custom-select__trigger{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,204,0,0.22);
  background:var(--ctrl-bg);
  color:var(--ctrl-text);
  font-weight:600;
  font-size:0.92rem;
  line-height:1.25;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06);
  transition:border-color .15s ease, box-shadow .15s ease, background-color .15s ease, border-radius .12s ease;
}
.admin-custom-select__trigger:hover{
  border-color:rgba(255,204,0,0.38);
  background:#1e2129;
}
.admin-custom-select__trigger:focus{
  outline:none;
  border-color:rgba(255,204,0,0.55);
  box-shadow:0 0 0 4px rgba(255,204,0,0.12);
}
.admin-custom-select__value{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-custom-select__chevron{
  flex-shrink:0;
  font-size:0.72rem;
  color:var(--fire);
  transition:transform .2s ease;
}
.admin-custom-select.is-open .admin-custom-select__chevron{
  transform:rotate(180deg);
}
.admin-custom-select.is-open .admin-custom-select__trigger{
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  border-bottom-color:rgba(255,204,0,0.14);
  border-color:rgba(255,204,0,0.45);
}
.admin-custom-select__list{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  z-index:30;
  margin:0;
  padding:6px;
  list-style:none;
  border:1px solid rgba(255,204,0,0.45);
  border-top:none;
  border-radius:0 0 12px 12px;
  background:linear-gradient(180deg, #171a22 0%, #12141a 100%);
  box-shadow:0 14px 36px rgba(0,0,0,0.55);
  max-height:220px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.admin-custom-select__list.hidden{
  display:none !important;
}
.admin-custom-select__option{
  padding:11px 12px;
  border-radius:8px;
  cursor:pointer;
  font-weight:600;
  font-size:0.9rem;
  color:var(--ctrl-text);
  transition:background .12s ease, color .12s ease;
}
.admin-custom-select__option:hover,
.admin-custom-select__option.is-selected{
  background:linear-gradient(180deg, rgba(255,204,0,0.3), rgba(255,204,0,0.12));
  color:#fff8e0;
}

/* Price field — custom steppers + decimal hint */
.admin-price-field .admin-num-input{
  position:relative;
  display:flex;
  align-items:stretch;
}
.admin-price-field .admin-num-input input{
  width:100%;
  min-height:46px;
  padding:12px 52px 12px 14px;
  border-radius:12px;
}
.admin-num-input__spin{
  position:absolute;
  top:5px;
  right:5px;
  bottom:5px;
  width:38px;
  display:flex;
  flex-direction:column;
  border-radius:9px;
  overflow:hidden;
  border:1px solid rgba(255,204,0,0.18);
  background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
}
.admin-num-input__btn{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  margin:0;
  border:none;
  background:transparent;
  color:rgba(255,204,0,0.72);
  cursor:pointer;
  font-size:0.62rem;
  line-height:1;
  transition:background .12s ease, color .12s ease;
}
.admin-num-input__btn + .admin-num-input__btn{
  border-top:1px solid rgba(255,255,255,0.08);
}
.admin-num-input__btn:hover{
  background:rgba(255,204,0,0.14);
  color:#ffe566;
}
.admin-num-input__btn:active{
  background:rgba(255,204,0,0.24);
}
.admin-price-hint{
  margin:6px 2px 0;
  font-size:0.78rem;
  line-height:1.4;
  color:var(--muted);
}
.admin-price-hint--warn{
  color:#ffcc66;
}
.admin-price-hint--warn strong{
  color:#ffe566;
  font-weight:700;
}

.product-card--draft{
  outline:1px dashed rgba(255,204,0,0.35);
  outline-offset:-1px;
}
.product-draft-badge{
  display:inline-block;
  margin:0 0 4px 28px;
  padding:2px 8px;
  border-radius:999px;
  font-size:0.68rem;
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:uppercase;
  color:#ffe566;
  background:rgba(255,204,0,0.12);
  border:1px solid rgba(255,204,0,0.28);
}

/* All select options – dark dropdown list (Chromium / Firefox; OS may vary) */
select option,
.option-row select option,
.menu-bulk-actions .select option,
#addProductCategory option,
#brandPresetSelect option,
#brandFontSelect option,
#brandLangSelect option,
#brandCurrencySelect option,
#brandCurrencyPositionSelect option,
#brandInstallationCountrySelect option,
#infraActiveShopSelect option{
  background-color:var(--option-bg) !important;
  color:var(--option-text) !important;
  padding:10px 12px;
}
select option:checked,
select option:hover,
select option:focus{
  background:linear-gradient(180deg, rgba(255,204,0,0.28), rgba(255,204,0,0.14)) !important;
  color:#fff8e0 !important;
}

.option-row input[type="text"]::placeholder,
.table:not(.products-table) td input[type="text"]::placeholder{
  color:#6b7280;
}

.btn{
  border-radius:12px;
  border:1px solid var(--line);
  padding:11px 14px;
  background:rgba(255,255,255,0.06);
  color:var(--text);
  cursor:pointer;
  font-weight:800;
}
.btn:hover{background:rgba(255,255,255,0.10)}
.btn-success{
  background:linear-gradient(180deg, rgba(102,211,143,0.35), rgba(102,211,143,0.15));
  color:#66d38f;
  border:1px solid rgba(102,211,143,0.5);
}
.btn-success:hover{background:linear-gradient(180deg, rgba(102,211,143,0.45), rgba(102,211,143,0.25))}
.save-order-pending{
  animation:save-order-pulse 1.2s ease-in-out infinite;
  border:2px solid var(--fire) !important;
  outline:2px solid rgba(255,204,0,0.55);
  outline-offset:2px;
  position:relative;
  z-index:1;
}
@keyframes save-order-pulse{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,204,0,0.4)}
  50%{opacity:0.9;box-shadow:0 0 12px 2px rgba(255,204,0,0.3)}
}

/* Category reorder: Οριστικοποίηση — pulsing gold outline while visible */
#confirmOrderBtn:not(.hidden){
  border:2px solid rgba(255,220,90,0.75) !important;
  background:linear-gradient(180deg, rgba(255,204,0,0.32), rgba(255,204,0,0.14)) !important;
  animation:shopSettingsSaveOutlineGlow 1.75s ease-in-out infinite;
  position:relative;
  z-index:1;
}
#confirmOrderBtn:not(.hidden):hover{
  background:linear-gradient(180deg, rgba(255,204,0,0.38), rgba(255,204,0,0.16)) !important;
}

.btn-primary{
  border-color:rgba(255,204,0,0.35);
  background:linear-gradient(180deg, rgba(255,204,0,0.23), rgba(255,204,0,0.10));
}
.btn-primary:hover{background:linear-gradient(180deg, rgba(255,204,0,0.30), rgba(255,204,0,0.12))}
.btn-secondary{border-color:rgba(255,255,255,0.2);background:rgba(255,255,255,0.04)}
.btn-secondary:hover{background:rgba(255,255,255,0.08)}
.btn-ghost{background:transparent}
.btn-danger{
  border-color:rgba(231,76,60,0.45);
  background:rgba(231,76,60,0.2);
  color:#ffb2a8;
}
.btn-danger:hover{background:rgba(231,76,60,0.35);color:#ffd9d6}
.btn-danger:disabled{
  opacity:0.45;
  cursor:not-allowed;
}
.btn-danger-pulse:not(:disabled){
  animation:btnDangerPulse 1.6s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(231,76,60,0.45);
}
@keyframes btnDangerPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(231,76,60,0.35);}
  50%{box-shadow:0 0 16px 2px rgba(231,76,60,0.55);}
}
.btn-warning{
  background:linear-gradient(180deg, rgba(255,204,0,0.45), rgba(255,204,0,0.22));
  color:#1a1a0a;
  border:2px solid rgba(255,204,0,0.7);
}
.btn-warning:hover{background:linear-gradient(180deg, rgba(255,204,0,0.55), rgba(255,204,0,0.32))}
.btn-grandma{
  padding:14px 22px;
  font-size:1.05rem;
  font-weight:900;
}
.btn-icon{
  padding:8px 10px;
  min-width:36px;
}
.msg{margin-top:8px;font-size:0.9rem}
.msg.hidden,
.msg:empty{display:none}
.msg.bad{color:var(--bad)}
.msg.ok{color:var(--ok)}
/* Storefront gatekeeper overlay styles live in style.css; keep admin login clean if it ever fires */
.porfyra-savage-generic-overlay{display:none!important}
.access-toast{
  position:sticky;
  top:10px;
  z-index:70;
  margin:0 auto 12px;
  max-width:760px;
  padding:11px 14px;
  border-radius:12px;
  border:1px solid rgba(231,76,60,0.45);
  background:rgba(231,76,60,0.16);
  color:#ffd9d6;
  font-weight:700;
  box-shadow:0 8px 24px rgba(0,0,0,0.35);
}
#networkToast{
  border-color:rgba(243,156,18,0.45);
  background:rgba(243,156,18,0.16);
  color:#ffeacc;
}

.tabs{
  display:flex;gap:10px;flex-wrap:wrap;
  margin:10px 0 14px;
  max-width:100%;
}
.tab{
  position:relative;
  border-radius:999px;
  border:1px solid var(--line);
  padding:10px 14px;
  background:rgba(255,255,255,0.04);
  color:var(--text);
  cursor:pointer;
  font-weight:800;
}
.tab.active{border-color:rgba(255,204,0,0.35);box-shadow:0 0 0 4px rgba(255,204,0,0.08)}
.tab-badge{
  position:absolute;
  top:-4px;
  right:-2px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#e74c3c;
  color:#fff;
  font-size:0.68rem;
  font-weight:800;
  line-height:18px;
  text-align:center;
  pointer-events:none;
  box-shadow:0 0 0 2px var(--bg, #0c0d10);
}
.tab-badge.hidden{display:none !important}
.tab-badge--pulse{
  animation:tab-badge-pulse 0.5s ease-out 2;
}
@keyframes tab-badge-pulse{
  0%{transform:scale(1)}
  40%{transform:scale(1.2)}
  100%{transform:scale(1)}
}

.grid{display:grid;grid-template-columns:1fr;gap:14px}
.panel{
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
}
.wallet-panel{margin-bottom:12px}
.wallet-balance-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-top:10px;
}
.wallet-balance-label{font-size:0.88rem;color:var(--muted);font-weight:800}
.wallet-balance-value{font-size:1.5rem;font-weight:900}
.wallet-progress{
  margin-top:10px;
  height:12px;
  width:100%;
  background:rgba(255,255,255,0.08);
  border:1px solid var(--line);
  border-radius:999px;
  overflow:hidden;
}
.wallet-progress-fill{
  height:100%;
  width:0%;
  background:var(--ok);
  transition:width .25s ease, background .25s ease;
}
.wallet-tab-coming-soon{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
  padding:24px 12px;
}
.wallet-tab-coming-soon.hidden{display:none}
.wallet-tab-active.hidden{display:none}
/* Platform Stripe kill-switch — works even if cached HTML lacks walletTabActive wrapper */
body.platform-stripe-disabled #walletTabActive,
body.platform-stripe-disabled #walletTab > .panel-head,
body.platform-stripe-disabled #walletTab > .wallet-balance-row,
body.platform-stripe-disabled #walletTab > .wallet-progress,
body.platform-stripe-disabled #walletTab > h3,
body.platform-stripe-disabled #walletTab > #walletTxList,
body.platform-stripe-disabled #walletTab > p.muted.tiny,
body.platform-stripe-disabled #settingsPaymentAccordion,
body.platform-stripe-disabled #headerWalletWrap{
  display:none !important;
}
body.platform-stripe-disabled #walletTabComingSoon{
  display:flex !important;
}
body.platform-stripe-disabled #walletTabComingSoon.hidden{
  display:flex !important;
}
.wallet-coming-soon-card{
  max-width:420px;
  width:100%;
  text-align:center;
  padding:28px 22px;
  border-radius:18px;
  border:1px dashed rgba(255,255,255,0.18);
  background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
}
.wallet-coming-soon-icon{
  width:64px;
  height:64px;
  margin:0 auto 14px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.55rem;
  color:var(--accent, #8b5cf6);
  background:rgba(139,92,246,0.14);
  border:1px solid rgba(139,92,246,0.28);
}
.wallet-coming-soon-title{
  margin:0 0 10px;
  font-size:1.2rem;
  font-weight:900;
}
.wallet-coming-soon-text{
  margin:0;
  line-height:1.55;
  color:rgba(255,255,255,0.88);
}
.wallet-coming-soon-hint{
  margin:14px 0 0;
}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;max-width:100%}
.panel-head h2{margin:0;font-size:1.05rem}
.panel-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:100%}
.activation-pay-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:0.35em;
  white-space:normal;
  text-align:center;
  line-height:1.35;
}
.activation-pay-btn__amount{
  font-weight:800;
}
.orders-panel-actions{flex:1;justify-content:flex-end;align-items:center}
.orders-toolbar{
  display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0;
  justify-content:flex-end;max-width:100%;
}
.orders-code-search-wrap{
  display:flex;align-items:center;gap:8px;flex:1 1 200px;max-width:min(320px,100%);
  min-height:34px;box-sizing:border-box;
  padding:0 10px;border-radius:10px;border:1px solid var(--line);
  background:rgba(255,255,255,0.06);
}
.orders-code-search-wrap i{opacity:0.65;font-size:0.85rem}
.orders-code-search{
  flex:1;min-width:0;border:none;background:transparent;color:var(--text);
  font:inherit;font-size:0.86rem;outline:none;
}
.orders-code-search::placeholder{color:rgba(242,244,248,0.45)}
.orders-auto-print-toggle{
  display:inline-flex;align-items:center;gap:9px;flex:0 0 auto;
  min-height:34px;box-sizing:border-box;
  padding:0 10px 0 11px;border-radius:10px;border:1px solid var(--line);
  background:rgba(255,255,255,0.04);cursor:pointer;user-select:none;
  font-size:0.8rem;font-weight:700;white-space:nowrap;line-height:1;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.orders-auto-print-toggle:hover{
  background:rgba(255,255,255,0.08);
  border-color:rgba(255,255,255,0.14);
}
.orders-auto-print-toggle__icon{
  color:rgba(242,244,248,0.5);font-size:0.84rem;line-height:1;
  transition:color .2s ease;
}
.orders-auto-print-toggle__text{
  color:rgba(242,244,248,0.82);letter-spacing:0.01em;
  transition:color .2s ease;
}
.orders-auto-print-toggle__switch{
  position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;
}
.orders-auto-print-toggle__switch input{
  position:absolute;opacity:0;width:0;height:0;margin:0;
}
.orders-auto-print-toggle__switch .toggle-slider{
  position:absolute;inset:0;cursor:pointer;
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.1);
  border-radius:999px;transition:background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.orders-auto-print-toggle__switch .toggle-slider:before{
  content:"";position:absolute;height:16px;width:16px;left:2px;top:50%;
  transform:translateY(-50%);background:rgba(242,244,248,0.72);border-radius:50%;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.orders-auto-print-toggle:has(input:checked){
  border-color:rgba(110,231,183,0.42);
  background:rgba(110,231,183,0.08);
  box-shadow:inset 0 0 0 1px rgba(110,231,183,0.06);
}
.orders-auto-print-toggle:has(input:checked) .orders-auto-print-toggle__icon{color:#6ee7b7}
.orders-auto-print-toggle:has(input:checked) .orders-auto-print-toggle__text{color:var(--text)}
.orders-auto-print-toggle:has(input:checked) .toggle-slider{
  background:rgba(110,231,183,0.32);border-color:rgba(110,231,183,0.5);
}
.orders-auto-print-toggle:has(input:checked) .toggle-slider:before{
  transform:translate(20px, -50%);background:#bbf7d0;
  box-shadow:0 1px 5px rgba(110,231,183,0.45);
}
.orders-auto-print-toggle:has(input:focus-visible){
  outline:2px solid rgba(110,231,183,0.55);outline-offset:2px;
}
.orders-auto-print-toggle.is-pending{
  opacity:0.72;pointer-events:none;
}
#autoPrintSetupModal.admin-modal:not(.hidden){
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.auto-print-setup-modal{
  width:min(420px, 96vw);
  padding:24px 22px 20px;
  text-align:center;
  border-color:rgba(255,213,74,0.14);
  box-shadow:
    0 22px 56px rgba(0,0,0,0.52),
    inset 0 1px 0 rgba(255,255,255,0.04);
}
.auto-print-setup-modal__hero{
  display:flex;
  justify-content:center;
  margin:0 0 12px;
}
.auto-print-setup-modal__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:16px;
  background:linear-gradient(145deg, rgba(255,213,74,0.18), rgba(255,213,74,0.05));
  border:1px solid rgba(255,213,74,0.24);
  color:#ffd86a;
  font-size:1.28rem;
  box-shadow:0 10px 28px rgba(0,0,0,0.24);
}
.auto-print-setup-modal__kicker{
  margin:0 0 4px;
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(255,216,106,0.82);
}
.auto-print-setup-modal__title{
  margin:0 0 14px;
  font-size:1.15rem;
  font-weight:900;
  line-height:1.32;
  letter-spacing:-0.02em;
  color:rgba(242,244,248,0.98);
}
.auto-print-setup-modal__info{
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.07);
  background:rgba(255,255,255,0.03);
  text-align:left;
}
.auto-print-setup-modal__body{
  margin:0;
  font-size:0.88rem;
  line-height:1.58;
  color:rgba(196,203,214,0.94);
}
.auto-print-setup-modal__video-link{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0 0 18px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,213,74,0.22);
  background:linear-gradient(135deg, rgba(255,213,74,0.1), rgba(255,213,74,0.04));
  color:var(--text);
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .14s ease, box-shadow .2s ease;
}
.auto-print-setup-modal__video-link:hover,
.auto-print-setup-modal__video-link:focus-visible{
  background:linear-gradient(135deg, rgba(255,213,74,0.16), rgba(255,213,74,0.07));
  border-color:rgba(255,213,74,0.38);
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(0,0,0,0.18);
  outline:none;
}
.auto-print-setup-modal__video-play{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(255,213,74,0.12);
  color:#ffd86a;
  font-size:1.15rem;
  line-height:1;
}
.auto-print-setup-modal__video-text{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.auto-print-setup-modal__video-label{
  font-size:0.88rem;
  font-weight:800;
  line-height:1.3;
  color:rgba(242,244,248,0.96);
}
.auto-print-setup-modal__video-hint{
  font-size:0.76rem;
  font-weight:600;
  line-height:1.35;
  color:rgba(196,203,214,0.82);
}
.auto-print-setup-modal__video-chevron{
  flex:0 0 auto;
  font-size:0.72rem;
  color:rgba(255,216,106,0.65);
  opacity:0.85;
  transition:transform .14s ease, opacity .14s ease;
}
.auto-print-setup-modal__video-link:hover .auto-print-setup-modal__video-chevron,
.auto-print-setup-modal__video-link:focus-visible .auto-print-setup-modal__video-chevron{
  transform:translateX(2px);
  opacity:1;
}
.auto-print-setup-modal__footer{
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,0.07);
}
.auto-print-setup-modal__question{
  margin:0 0 14px;
  font-size:0.92rem;
  font-weight:700;
  line-height:1.4;
  color:rgba(242,244,248,0.92);
}
.auto-print-setup-modal__actions{
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:10px;
}
.auto-print-setup-modal__btn-cancel,
.auto-print-setup-modal__btn-confirm{
  width:100%;
  min-height:42px;
  font-size:0.88rem;
}
@media (max-width: 420px){
  .auto-print-setup-modal{
    padding:20px 16px 16px;
  }
  .auto-print-setup-modal__actions{
    grid-template-columns:1fr;
  }
}
.order-short-code{
  font-weight:900;font-size:0.82rem;letter-spacing:0.06em;color:var(--fire, #ffcc00);
  font-variant-numeric:tabular-nums;
}
.menu-bulk-actions{
  margin:8px 0 10px;
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,0.03);
}
.menu-bulk-actions .btn{white-space:nowrap}
.menu-bulk-actions .select{
  min-width:220px;
  max-width:380px;
}
.pill{
  font-weight:800;
  font-size:0.78rem;
  letter-spacing:0.02em;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.06);
  color:rgba(242,244,248,0.95);
  text-shadow:0 1px 2px rgba(0,0,0,0.35);
}
.pill.ok{
  color:#e8f8ef;
  border-color:rgba(46,204,113,0.55);
  background:rgba(39,174,96,0.32);
}
.pill.warn{
  color:#fff8e7;
  border-color:rgba(243,156,18,0.6);
  background:rgba(211,134,18,0.38);
}
.pill.bad{
  color:#ffeceb;
  border-color:rgba(231,76,60,0.6);
  background:rgba(192,57,43,0.42);
}

.orders{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.orders .order-card{flex:1 1 calc(50% - 6px);min-width:280px;max-width:100%}
@media (max-width:900px){.orders .order-card{flex:1 1 100%}}
.order-card{
  background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
}
.order-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.order-top-main{flex:1;min-width:0}
.order-header-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.order-type-tag{
  display:inline-flex;align-items:center;font-weight:900;font-size:0.72rem;letter-spacing:0.06em;
  padding:5px 10px;border-radius:999px;text-transform:uppercase;border:1px solid transparent;
}
.order-type-delivery{
  color:#fff;background:linear-gradient(180deg,#e74c3c,#c0392b);border-color:rgba(0,0,0,0.2);
  box-shadow:0 2px 8px rgba(192,57,43,0.35);
}
.order-type-pickup{
  color:#fff;background:linear-gradient(180deg,#3498db,#2980b9);border-color:rgba(0,0,0,0.2);
  box-shadow:0 2px 8px rgba(41,128,185,0.35);
}
.order-pay-line{margin-top:4px;font-weight:700;color:rgba(242,244,248,0.95)}
.order-iris-verify-banner{
  margin-top:8px;padding:8px 10px;border-radius:10px;font-weight:900;font-size:0.78rem;letter-spacing:0.02em;
  background:linear-gradient(90deg,rgba(241,196,15,0.95),rgba(230,126,34,0.95));
  color:#1a1000;border:1px solid rgba(0,0,0,0.15);
  box-shadow:0 0 0 2px rgba(241,196,15,0.35);
}
.order-pickup-iris-reminder{
  margin-top:10px;padding:10px 12px;border-radius:10px;font-size:0.82rem;line-height:1.35;
  background:rgba(52,152,219,0.12);border:1px solid rgba(52,152,219,0.45);
  border-left:4px solid #3498db;color:rgba(242,244,248,0.95);
}
.order-price-breakdown{
  margin-top:12px;padding-top:10px;border-top:1px dashed rgba(255,255,255,0.12);font-size:0.82rem;
}
.order-price-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:4px;color:rgba(242,244,248,0.82);
}
.order-price-row strong{color:#fff;font-weight:800}
.order-line-service-charge{color:#f9e79f}
.order-line-service-charge strong{color:#fff;font-weight:800}
.order-line-final-paid{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,0.14);font-weight:900}
.order-line-final-paid span{color:rgba(242,244,248,0.95)}
.order-line-final-paid strong{font-size:1.08rem;color:#ffdc4d;font-weight:900}
.order-title{font-weight:900;color:rgba(242,244,248,0.98)}
.order-meta{font-size:0.85rem;color:rgba(242,244,248,0.88);margin-top:4px;line-height:1.35}
.order-customer-phone-row{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.order-customer-phone{
  word-break:break-word;
}
.order-gdpr-scrub-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  padding:0;
  border:none;
  border-radius:6px;
  background:transparent;
  color:rgba(242,244,248,0.45);
  cursor:pointer;
  transition:color .15s ease, background .15s ease;
}
.order-gdpr-scrub-btn:hover:not(:disabled){
  color:var(--fire);
  background:rgba(255,204,0,0.1);
}
.order-gdpr-scrub-btn:disabled{
  opacity:0.45;
  cursor:wait;
}
.order-meta .muted,.order-meta .tiny{color:rgba(242,244,248,0.72)!important}
.order-card > .order-top > .muted.tiny{
  color:rgba(242,244,248,0.62)!important;
  font-weight:700;
  letter-spacing:0.04em;
}
.order-items{margin:10px 0 0;padding-left:16px;color:rgba(242,244,248,0.95)}
.order-delivery-map-section{
  margin-top:12px;padding-top:12px;border-top:1px dashed rgba(255,255,255,0.12);
}
.order-delivery-map-section.hidden{display:none!important}
.order-delivery-map-section__title{
  font-size:0.82rem;font-weight:800;margin:0 0 8px;
  display:flex;align-items:center;gap:8px;color:rgba(242,244,248,0.92);
}
.order-delivery-map{
  width:100%;height:180px;border-radius:12px;border:1px solid rgba(255,255,255,0.12);
  margin-bottom:8px;background:rgba(0,0,0,0.25);
}
.order-delivery-map-hint{margin:8px 0 0;font-size:0.72rem}
.order-card--pending-accept{
  border-color:rgba(241,196,15,0.55);
  box-shadow:0 0 0 2px rgba(241,196,15,0.12), 0 8px 28px rgba(0,0,0,0.22);
}
.order-card--preparing{
  border-color:rgba(243,156,18,0.5);
  box-shadow:0 0 0 1px rgba(243,156,18,0.15), 0 6px 20px rgba(0,0,0,0.18);
}
.order-card--accept-urgent{
  animation:orderAcceptPulse 1.1s ease-in-out infinite;
}
@keyframes orderAcceptPulse{
  0%,100%{box-shadow:0 0 0 2px rgba(231,76,60,0.2), 0 8px 28px rgba(0,0,0,0.22)}
  50%{box-shadow:0 0 0 4px rgba(231,76,60,0.45), 0 10px 32px rgba(192,57,43,0.35)}
}
.order-accept-banner{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  margin-top:10px;padding:10px 12px;border-radius:12px;font-weight:800;
  background:linear-gradient(90deg,rgba(241,196,15,0.22),rgba(230,126,34,0.18));
  border:1px solid rgba(241,196,15,0.45);color:#fdebd0;
}
.order-accept-banner__label{display:inline-flex;align-items:center;gap:8px;font-size:0.82rem}
.order-accept-banner .order-accept-countdown{display:block;width:100%;margin:4px 0 2px;font-size:1.35rem;font-weight:800;letter-spacing:0.04em;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,0.35)}
.order-accept-countdown-inline{font-weight:900;letter-spacing:0.02em}
.order-accept-row{margin-top:12px}
.order-accept-row--dual{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.order-print-row{margin-top:8px}
.btn-print-receipt{width:100%;justify-content:center;font-weight:700}
.order-accept-banner__hint{display:block;width:100%;font-size:0.72rem;font-weight:700;opacity:0.85;margin-top:4px}
.btn-accept-order{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:12px 14px;border-radius:12px;font-weight:900;cursor:pointer;
  background:linear-gradient(180deg,#27ae60,#1e8449);color:#fff;border:1px solid rgba(46,204,113,0.65);
  box-shadow:0 4px 16px rgba(39,174,96,0.35);
}
.btn-accept-order:hover:not(:disabled){filter:brightness(1.06)}
.btn-accept-order:disabled{opacity:0.65;cursor:not-allowed}
.btn-reject-order{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:12px 14px;border-radius:12px;font-weight:900;cursor:pointer;
  background:linear-gradient(180deg,#c0392b,#922b21);color:#fff;border:1px solid rgba(231,76,60,0.65);
  box-shadow:0 4px 16px rgba(192,57,43,0.3);
}
.btn-reject-order:hover:not(:disabled){filter:brightness(1.06)}
.btn-reject-order:disabled{opacity:0.65;cursor:not-allowed}
.order-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.btn-complete-order{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:12px 14px;border-radius:12px;font-weight:900;cursor:pointer;
  background:linear-gradient(180deg,#2ecc71,#27ae60);color:#fff;border:1px solid rgba(46,204,113,0.65);
  box-shadow:0 4px 16px rgba(46,204,113,0.3);
}
.btn-complete-order:hover:not(:disabled){filter:brightness(1.06)}
.btn-complete-order:disabled{opacity:0.65;cursor:not-allowed}
.btn-undo-complete{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:11px 14px;border-radius:12px;font-weight:900;cursor:pointer;
  background:linear-gradient(180deg,#d68910,#b9770e);color:#fff;border:1px solid rgba(243,156,18,0.65);
  box-shadow:0 2px 12px rgba(211,137,16,0.28);
}
.btn-undo-complete:hover:not(:disabled){filter:brightness(1.06)}
.btn-undo-complete:disabled{opacity:0.65;cursor:not-allowed}
.order-complete-undo-countdown{font-variant-numeric:tabular-nums;font-weight:900}
.order-actions--undo.hidden{display:none}
.order-veto-row{margin-top:12px}
.btn-veto-refund{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px 14px;border-radius:12px;font-weight:900;cursor:pointer;
  background:linear-gradient(180deg,#9b1c1c,#5c0e0e);color:#fff;border:1px solid rgba(231,76,60,0.75);box-shadow:0 2px 12px rgba(0,0,0,0.35)}
.btn-veto-refund:hover:not(:disabled){filter:brightness(1.05)}
.btn-veto-refund:disabled{opacity:0.65;cursor:not-allowed}

.table-wrap{overflow-x:auto;margin-top:12px;width:100%}
.table{width:100%;border-collapse:collapse;min-width:760px}
.table th,.table td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;font-size:0.85rem}
.table th{font-size:0.72rem;color:var(--muted);letter-spacing:0.5px;text-transform:uppercase;white-space:nowrap}
.table th.menu-batch-col,
.table td.menu-batch-col{
  width:56px;
  text-align:center;
}
.table td input[type="number"]{max-width:100px;width:100%}
.table td input[type="text"]{min-width:180px;width:100%}
@media (max-width:1200px){
  .table th,.table td{font-size:0.78rem;padding:6px 4px}
  .table th{font-size:0.7rem}
  .table td input[type="text"]{min-width:150px}
}
@media (max-width:900px){
  .table th,.table td{font-size:0.72rem;padding:5px 3px}
  .table th{font-size:0.68rem}
  .table td input[type="text"]{min-width:120px}
  .menu-bulk-actions .select{
    min-width:0;
    max-width:none;
  }
}

.menu-section-row{
  background:rgba(255,204,0,0.08);
  border-left:4px solid var(--fire);
}
.menu-section-row td{
  padding-top:14px;
  padding-bottom:6px;
  font-weight:900;
  font-size:0.9rem;
  color:var(--fire);
  border-bottom-color:rgba(255,255,255,0.25);
}
.menu-section-row .menu-section-drag{
  cursor:grab;
  color:var(--fire);
  width:34px;
  text-align:center;
  vertical-align:middle;
}
.menu-section-row .menu-section-drag:active{cursor:grabbing}

.menu-editor-wrap .menu-table{width:100%;border-collapse:collapse;font-size:0.88rem}
.menu-editor-wrap .menu-table th,.menu-editor-wrap .menu-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line)}
.menu-editor-wrap .menu-table th{background:rgba(255,255,255,0.06);font-weight:700}
.menu-editor-wrap .menu-table tbody tr[data-id]:hover{background:rgba(255,255,255,0.04)}
.menu-editor-wrap .menu-table td input[type="text"],.menu-editor-wrap .menu-table td input[type="number"]{min-width:80px;max-width:100%;padding:6px 8px;background:rgba(255,255,255,0.06);border:1px solid var(--line);border-radius:6px;color:var(--text)}

.drag-handle{
  width:34px;
  text-align:center;
  cursor:grab;
  user-select:none;
  color:rgba(242,244,248,0.65);
  font-weight:900;
}
.drag-handle:active{cursor:grabbing}
.drag-ghost{opacity:0.55}
.drag-chosen{background:rgba(255,204,0,0.06)}

.stats{display:grid;grid-template-columns:repeat(2, minmax(0,1fr));gap:12px;margin-top:12px}
@media (max-width:700px){.stats{grid-template-columns:1fr}}
.stat{background:rgba(255,255,255,0.03);border:1px solid var(--line);border-radius:14px;padding:14px}
.stat-label{color:var(--muted);font-weight:800;font-size:0.85rem}
.stat-value{font-weight:900;font-size:1.4rem;margin-top:6px}

.product-form{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.product-form label{display:block}
.product-form #prodSaveBtn{align-self:end}
.product-upload input[type="file"]{padding:10px}
.upload-state{
  display:flex;
  align-items:center;
  gap:10px;
}
.spinner{
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,0.25);
  border-top-color:var(--fire);
  animation:spin .8s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
.products-grid-wrap{overflow-x:auto;margin-top:10px}

/* Nested sorting: category blocks + product cards */
.products-blocks-container{display:flex;flex-direction:column;gap:0}
.categories-sortable{display:flex;flex-direction:column;gap:0;min-height:20px}
.products-blocks-header{
  display:grid;
  grid-template-columns:120px 1fr 1fr 1.2fr 1fr 1fr 1.5fr 70px 70px 80px 1fr;
  gap:8px;
  align-items:center;
  padding:10px 14px;
  background:rgba(255,255,255,0.06);
  font-weight:700;
  font-size:0.82rem;
  color:var(--muted);
  border-bottom:1px solid var(--line);
  margin-bottom:8px;
}
.products-blocks-header-minimal{
  grid-template-columns:80px 1.5fr 1.5fr 90px 110px 1fr;
  font-size:0.9rem;
}
@media (max-width:1200px){
  .products-blocks-header{grid-template-columns:100px 1fr 1fr 1fr 80px 1fr 60px 60px 70px 1fr}
  .products-blocks-header-minimal{grid-template-columns:70px 1fr 1fr 80px 100px 1fr}
}
@media (max-width:900px){
  .products-blocks-header{grid-template-columns:1fr 1fr;display:none}
  .products-blocks-header-minimal{grid-template-columns:1fr 1fr;display:none}
}
.category-block{
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:12px;
  overflow:hidden;
  background:rgba(255,255,255,0.02);
}
.category-header{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:rgba(255,204,0,0.15);
  color:var(--fire);
  font-weight:900;
  font-size:1rem;
  letter-spacing:0.5px;
  cursor:grab;
  user-select:none;
  border-bottom:1px solid rgba(255,204,0,0.35);
}
.category-title-wrap{
  flex:1;
  display:flex;
  align-items:center;
  gap:8px;
  pointer-events:auto;
}
.category-title-wrap .category-title{flex:0 1 auto}
.category-rename-btn{
  color:rgba(255,255,255,0.7);
  padding:6px 8px;
  position:relative;
  z-index:10;
  pointer-events:auto !important;
}
.category-rename-btn:hover{
  color:var(--fire);
  background:rgba(255,204,0,0.2);
}
.category-controls{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:8px;
  pointer-events:auto;
}
.category-controls .btn{cursor:pointer}
.category-archive-btn{
  background:rgba(59,130,246,0.5);
  color:#93c5fd;
  border:1px solid rgba(59,130,246,0.6);
  padding:8px 12px;
  position:relative;
  z-index:10;
  pointer-events:auto !important;
}
.category-archive-btn:hover{
  background:rgba(59,130,246,0.75);
  color:#fff;
}
.category-header:active{cursor:grabbing}
.category-header .category-drag-handle{color:var(--fire)}
[data-sortable-handle] > *{pointer-events:none}
.products-container{
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:8px;
}
.product-card{
  display:grid;
  grid-template-columns:120px 1fr 1fr 1.2fr 1fr 1fr 1.5fr 70px 70px 80px 1fr;
  gap:8px;
  align-items:center;
  padding:10px 14px;
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,0.02);
}
.product-card-minimal{
  grid-template-columns:80px 1.5fr 1.5fr 90px 110px 1fr;
  padding:8px 12px;
}
.product-card:last-child{border-bottom:none}
.product-card:hover{background:rgba(255,255,255,0.04)}
.product-card-cell{min-width:0}
.products-blocks-container .product-thumb{
  width:52px;
  height:52px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--line);
}
.products-blocks-container .product-placeholder{
  width:52px;
  height:52px;
  min-width:52px;
  min-height:52px;
  border-radius:8px;
  border:1px solid var(--line);
}
.products-blocks-container .product-placeholder i{
  font-size:1.5rem;
}
.products-blocks-container .product-placeholder-drinks .placeholder-drinks-icons{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0.1em;
  font-size:0.45em;
}
.products-blocks-container .product-placeholder-drinks .placeholder-drinks-icons i{
  opacity:0.3;
}
.products-blocks-container .product-input{
  min-width:60px;
  max-width:100%;
  padding:6px 8px;
  background:var(--ctrl-bg);
  color:var(--ctrl-text);
  border:1px solid var(--line);
  border-radius:6px;
}
@media (max-width:1200px){
  .product-card{grid-template-columns:100px 1fr 1fr 1fr 80px 1fr 60px 60px 70px 1fr}
}
@media (max-width:900px){
  .product-card{grid-template-columns:1fr 1fr;grid-template-areas:"img title" "desc price" "actions actions"}
  .product-card-cell:nth-child(1){grid-area:img}
  .product-card-cell:nth-child(2){grid-area:title}
  .product-card-cell:nth-child(5){grid-area:desc}
  .product-card-cell:nth-child(6){grid-area:price}
  .product-card-cell:last-child{grid-area:actions}
  .product-card-minimal{grid-template-columns:1fr 1fr;grid-template-areas:"img title" "desc price" "avail actions"}
  .product-card-minimal .product-card-cell:nth-child(1){grid-area:img}
  .product-card-minimal .product-card-cell:nth-child(2){grid-area:title}
  .product-card-minimal .product-card-cell:nth-child(3){grid-area:desc}
  .product-card-minimal .product-card-cell:nth-child(4){grid-area:price}
  .product-card-minimal .product-card-cell:nth-child(5){grid-area:avail}
  .product-card-minimal .product-card-cell:last-child{grid-area:actions}
}

/* Sortable ghost + placeholder */
.sortable-ghost-category{opacity:0.7 !important}
.sortable-ghost-category .products-container{display:none !important}
.sortable-ghost-product{opacity:0.5 !important}
.sortable-swap-highlight{
  background:rgba(255,255,255,0.08);
  border:2px dashed rgba(255,204,0,0.5);
  border-radius:8px;
  min-height:60px;
}
.sortable-category-placeholder{
  height:60px;
  min-height:60px;
  background:rgba(255,204,0,0.1);
  border:2px dashed rgba(255,204,0,0.4);
  border-radius:8px;
  margin-bottom:12px;
  transition:height 0.2s ease, background 0.2s ease;
}
.products-blocks-container .sortable-drag{opacity:0.7}

/* Archive section */
.archive-section{margin-top:24px}
.btn-archive-toggle{
  color:var(--muted);
  font-size:0.9rem;
}
.btn-archive-toggle:hover{
  color:rgba(100,150,200,0.95);
  background:rgba(100,150,200,0.1);
}
.archived-drawer{
  margin-top:16px;
  padding:16px;
  background:rgba(255,255,255,0.02);
  border:1px solid var(--line);
  border-radius:12px;
}
.archived-drawer-title{
  margin:0 0 12px;
  font-size:1rem;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:8px;
}
.archived-drawer-list{display:flex;flex-direction:column;gap:8px}
.archived-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  background:rgba(255,255,255,0.03);
  border-radius:8px;
  border:1px solid var(--line);
}
.archived-item-label{font-weight:700;flex:1}
.archived-item-actions{display:flex;gap:8px;flex-wrap:wrap}

.products-table img,
.products-table .product-thumb{
  width:52px;
  height:52px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--line);
}
.product-img-cell{vertical-align:middle;display:flex;align-items:center;gap:8px}
.product-drag-handle{
  cursor:grab;
  color:var(--muted);
  padding:4px;
  user-select:none;
}
.product-drag-handle:active{cursor:grabbing}
.product-drag-handle:hover{color:var(--fire)}
.product-img-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
}
.product-img-wrap-with-camera .product-img-inner{
  position:relative;
  width:52px;
  height:52px;
  flex-shrink:0;
}
/* Ορατά «κρυφό» file input: το display:none (! .hidden) μπλοκάρει αξιόπιστα το programmatic .click() σε Chrome/Edge (PC) */
.product-card-file-input--sr{
  position:absolute;
  left:-9999px;
  top:0;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  opacity:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}
.product-img-wrap-with-camera .product-thumb,
.product-img-wrap-with-camera .product-placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--line);
}
.product-img-wrap-with-camera .product-placeholder{
  background:linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 100%);
  color:var(--muted);
}
.product-img-loading{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:rgba(0,0,0,0.6);
  border-radius:8px;
  color:#fff;
  font-size:1.2rem;
}
.product-img-loading-text{
  font-size:0.65rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.5px;
  opacity:0.95;
}
.product-delete-img-btn{
  position:absolute;
  top:-4px;
  left:-4px;
  z-index:6;
  pointer-events:auto;
  width:26px;
  height:26px;
  border-radius:50%;
  border:none;
  background:rgba(30,30,35,0.88);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.85rem;
  line-height:1;
  padding:0;
  box-shadow:0 2px 6px rgba(0,0,0,0.35);
  transition:transform 0.2s, background 0.2s, box-shadow 0.2s;
}
.product-delete-img-btn:hover{
  background:rgba(180,40,40,0.95);
  transform:scale(1.08);
  box-shadow:0 3px 10px rgba(0,0,0,0.4);
}
.product-delete-img-btn:active{
  transform:scale(0.96);
}
.product-delete-img-btn.hidden{
  display:none !important;
}
.product-camera-btn{
  position:absolute;
  bottom:-4px;
  right:-4px;
  z-index:5;
  pointer-events:auto;
  width:28px;
  height:28px;
  border-radius:50%;
  border:none;
  background:linear-gradient(135deg, #ff8c42, #e85d04);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.9rem;
  box-shadow:0 2px 8px rgba(0,0,0,0.35);
  transition:transform 0.2s, box-shadow 0.2s;
}
.product-camera-btn:hover{
  transform:scale(1.12);
  box-shadow:0 3px 12px rgba(232,93,4,0.5);
}
.product-camera-btn:active{
  transform:scale(0.98);
}
.product-upload-btn{
  padding:6px 10px;
  font-size:0.78rem;
}
/* Force dark theme for products table inputs */
.products-table td input,
.products-table td input[type="text"],
.products-table td input[type="number"],
.products-table td input[type="url"]{
  background:#1a1d24 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,0.1) !important;
}
.products-table td input::placeholder{
  color:rgba(255,255,255,0.45) !important;
}
.product-input{min-width:100px;max-width:100%}
.product-input-url{min-width:140px;font-size:0.8rem}
.product-input-num{min-width:60px;max-width:80px}
.product-actions-cell{
  white-space:nowrap;
}
.product-actions-cell .btn{margin-right:6px}
.btn-sm{padding:6px 10px;font-size:0.78rem}
.product-delete-btn{color:var(--bad)}
.product-delete-btn:hover{background:rgba(231,76,60,0.15);color:#ffb2a8}
.delete-confirm-card{max-width:420px}
.delete-confirm-msg{color:var(--muted);margin:0}
.products-table .category-header{
  background:rgba(255,204,0,0.15) !important;
  color:var(--fire) !important;
  font-weight:900;
  font-size:0.95rem;
  letter-spacing:0.5px;
  padding:12px 10px;
}
.products-table .category-header td{
  border-bottom:1px solid rgba(255,204,0,0.35);
}
.products-table .category-drag-handle{
  cursor:grab;
  color:var(--fire);
  margin-right:10px;
  display:inline-block;
  user-select:none;
}
.products-table .category-drag-handle:active{cursor:grabbing}
.products-table .category-drag-handle:hover{opacity:0.9}
.products-table .product-row{cursor:grab}
.products-table .product-row:active{cursor:grabbing}
.products-table .product-row.sortable-ghost{opacity:0.4}
.soldout-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:0.82rem;
  font-weight:700;
}
.wallet-sep{
  margin:16px 0;
  border:0;
  border-top:1px solid var(--line);
}
.theme-form{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.theme-form input[type="color"]{
  width:100%;
  height:42px;
  border-radius:8px;
  border:1px solid var(--line);
  background:transparent;
  padding:3px;
}

.admin-modal{
  position:fixed;
  inset:0;
  z-index:120;
  background:rgba(0,0,0,0.55);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}

/* Promise-based app dialogs (alert / confirm / prompt) */
.admin-app-dialog{
  position:fixed;
  inset:0;
  z-index:250;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  pointer-events:none;
}
.admin-app-dialog.hidden{
  display:none !important;
}
.admin-app-dialog--open{
  pointer-events:auto;
}
.admin-app-dialog__backdrop{
  position:absolute;
  inset:0;
  border:none;
  padding:0;
  margin:0;
  background:rgba(0,0,0,0.68);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
  cursor:pointer;
  opacity:0;
  transition:opacity .22s ease;
}
.admin-app-dialog--open .admin-app-dialog__backdrop{
  opacity:1;
}
.admin-app-dialog__card{
  position:relative;
  z-index:1;
  width:min(420px, 100%);
  padding:20px 18px 16px;
  border-radius:16px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(23,26,34,0.98), rgba(12,13,16,0.98));
  box-shadow:0 22px 56px rgba(0,0,0,0.5);
  color:var(--text);
  transform:translateY(10px) scale(0.97);
  opacity:0;
  transition:opacity .22s ease, transform .22s ease;
}
.admin-app-dialog--open .admin-app-dialog__card{
  transform:translateY(0) scale(1);
  opacity:1;
}
.admin-app-dialog__title{
  margin:0 0 10px;
  font-size:1.05rem;
  font-weight:800;
  line-height:1.35;
  color:var(--text);
  letter-spacing:-0.01em;
}
.admin-app-dialog__message{
  margin:0 0 14px;
  font-size:.9rem;
  line-height:1.5;
  color:var(--muted);
  white-space:pre-line;
}
.admin-app-dialog__field{
  margin:0 0 14px;
}
.admin-app-dialog__input{
  width:100%;
}
.admin-app-dialog__error{
  margin:8px 0 0;
  font-size:.82rem;
  font-weight:700;
  color:var(--bad, #e74c3c);
}
.admin-app-dialog__actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
  margin-top:4px;
}
.admin-app-dialog-body-lock{
  overflow:hidden;
}
.admin-modal-card{
  width:min(900px, 96vw);
  max-height:90vh;
  overflow:auto;
  background:linear-gradient(180deg, rgba(18,20,26,0.98), rgba(12,13,16,0.98));
  border:1px solid var(--line);
  border-radius:16px;
  padding:16px;
  box-shadow:0 18px 45px rgba(0,0,0,0.45);
}
.options-rows{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}
.options-modal-toolbar{
  margin-top:10px;
  margin-bottom:12px;
  display:flex;
  justify-content:flex-start;
  align-items:center;
}
.options-modal-publish-hint{
  margin:0 0 8px;
  line-height:1.45;
}
.option-row{
  display:grid;
  grid-template-columns:2fr 110px 140px 80px;
  gap:8px;
  align-items:center;
}
.option-row .btn{padding:9px 10px}
.option-row--removeable [data-opt="price"]{
  opacity:0.55;
  cursor:not-allowed;
}
@media (max-width:760px){
  .option-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:900px){
  .product-form{grid-template-columns:1fr}
  .theme-form{grid-template-columns:1fr}
}

/* Excalibur Audit – suspicious data flagging */
.warning-cell{
  background:rgba(255,0,0,0.1) !important;
  border:1px solid red !important;
}

/* Excalibur section title */
.excalibur-section-title strong{
  font-weight:800;
  letter-spacing:0.02em;
}

/* Excalibur — βέλτιστη πηγή (λειτουργική ιεραρχία) */
.excalibur-source-hierarchy{
  margin-bottom:10px;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--card2);
  font-size:0.88rem;
}
.excalibur-source-hierarchy-summary{
  cursor:pointer;
  font-weight:600;
  color:var(--muted);
  list-style:none;
}
.excalibur-source-hierarchy summary::-webkit-details-marker{display:none}
.excalibur-source-list{
  margin:10px 0 0 1.1rem;
  padding:0;
  line-height:1.55;
  color:var(--muted);
}
.excalibur-source-list li{margin-bottom:6px}
.excalibur-source-trap{
  margin-top:8px;
  padding-top:8px;
  border-top:1px dashed var(--line);
  color:#e67e22;
}

/* Excalibur AI refine */
#excaliburTabRawInput{
  position:relative;
}

/* Excalibur Mission Control / Orchestrator */
.excalibur-mission-wrap{
  border:1px solid rgba(255,213,74,0.18);
  border-radius:12px;
  padding:14px 16px 16px;
  background:rgba(0,0,0,0.08);
}
.excalibur-orchestrator{
  border:1px solid rgba(255,213,74,0.2);
  border-radius:12px;
  padding:14px 16px;
  margin-bottom:14px;
  background:rgba(255,255,255,0.03);
}
.excalibur-orchestrator__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.excalibur-orchestrator__title{
  margin:0 0 4px 0;
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:0.02em;
  color:var(--ctrl-text, #e8eaed);
}
.excalibur-orchestrator__tagline{
  margin:0;
  max-width:46rem;
  line-height:1.45;
}
.excalibur-orchestrator__reset{
  flex-shrink:0;
}
.excalibur-hint-wrapper{
  margin-bottom:12px;
}
.excalibur-hint-label{
  display:block;
  margin:0 0 6px 0;
  font-size:0.65rem;
  font-weight:800;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(201, 214, 255, 0.9);
  text-shadow:0 0 12px rgba(100, 180, 255, 0.25);
}
.excalibur-session-hint{
  display:block;
  width:100%;
  min-height:52px;
  box-sizing:border-box;
  font-family:ui-monospace, 'Cascadia Code', 'Consolas', monospace;
  font-size:0.88rem;
  line-height:1.45;
  color:#e8f0ff;
  background:linear-gradient(180deg, rgba(8, 14, 28, 0.95) 0%, rgba(4, 8, 18, 0.98) 100%);
  border:1px solid rgba(100, 160, 255, 0.35);
  border-radius:8px;
  padding:10px 12px;
  resize:vertical;
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.06);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.excalibur-session-hint::placeholder{
  color:rgba(180, 200, 230, 0.45);
}
.excalibur-session-hint:focus{
  outline:none;
  border-color:rgba(120, 200, 255, 0.75);
  box-shadow:0 0 0 1px rgba(120, 200, 255, 0.4), 0 0 18px rgba(80, 160, 255, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.excalibur-guided-badge{
  display:inline-block;
  margin-right:8px;
  padding:2px 7px;
  font-size:0.65rem;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#0a0e14;
  background:linear-gradient(135deg, #7ad7ff 0%, #4aa8ff 100%);
  border-radius:4px;
  vertical-align:middle;
  box-shadow:0 0 10px rgba(100, 200, 255, 0.45);
}
.excalibur-orchestrator__paste{
  margin-bottom:12px;
}
.excalibur-orchestrator__paste-label{
  display:block;
  margin-bottom:6px;
}
.excalibur-orchestrator__textarea{
  width:100%;
  min-height:180px;
  box-sizing:border-box;
  font:inherit;
}
.excalibur-orchestrator__toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-bottom:8px;
}
.excalibur-orchestrator__nextsteps{
  margin:0;
}
.excalibur-dropzone{
  transition:border-color 0.15s ease, box-shadow 0.15s ease;
}
.excalibur-dropzone--active{
  outline:2px dashed rgba(255,213,74,0.55);
  outline-offset:2px;
  border-radius:8px;
}
.excalibur-aux-tools{
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
}
.excalibur-aux-tools-label{
  width:100%;
  margin:0 0 4px 0;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-size:0.68rem;
  opacity:0.88;
}

.excalibur-raw-import-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-start;
}
.excalibur-raw-import-row textarea{
  flex:1 1 260px;
  min-width:0;
}
.excalibur-ai-refine-btn{
  flex-shrink:0;
  align-self:flex-start;
  white-space:nowrap;
}
.excalibur-ai-refine-btn:disabled{
  opacity:0.55;
  cursor:not-allowed;
}
.excalibur-ai-refine-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  flex-shrink:0;
  align-self:flex-start;
}
.excalibur-ai-refine-buttons{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.excalibur-tier-wrap{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.excalibur-tier-label{
  font-size:0.78rem;
  font-weight:600;
  color:var(--muted);
  margin:0;
}
.excalibur-tier-select{
  font:inherit;
  font-size:0.85rem;
  padding:6px 10px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--ctrl-bg);
  color:var(--ctrl-text);
  min-width:168px;
}
.excalibur-confidence-badge--manual{
  color:#9aa0a6;
  background:rgba(154,160,166,0.12);
  border-radius:6px;
  padding:2px 8px;
  font-size:0.78rem;
  font-weight:600;
}
.audit-th-source{
  width:52px;
  text-align:center;
}
.audit-source-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.25rem;
  padding:2px 6px;
  border-radius:6px;
  font-size:0.72rem;
  font-weight:700;
  line-height:1.2;
}
.audit-source-badge.excalibur-confidence-badge--ai-verified{
  text-shadow:none;
}
.audit-source-badge.excalibur-confidence-badge--manual{
  background:rgba(154,160,166,0.22);
  color:#c4c7cc;
  padding:2px 6px;
  font-size:0.72rem;
}
.audit-source-badge.audit-source-badge--empty{
  color:var(--muted);
  font-weight:600;
  opacity:0.5;
}
.excalibur-ai-processing-overlay{
  position:absolute;
  inset:0;
  z-index:45;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(12,13,16,0.78);
  backdrop-filter:blur(8px);
  border-radius:8px;
  pointer-events:all;
}
.excalibur-ai-processing-overlay.hidden{
  display:none !important;
}
.excalibur-ai-processing-card{
  text-align:center;
  padding:1.25rem 1.5rem;
}
.excalibur-ai-processing-spinner{
  width:44px;
  height:44px;
  margin:0 auto 14px;
  border:3px solid rgba(110,183,255,0.22);
  border-top-color:#6eb7ff;
  border-radius:50%;
  animation:excalibur-ai-spin 0.85s linear infinite;
}
@keyframes excalibur-ai-spin{
  to{ transform:rotate(360deg); }
}
.msg.msg--ai-busy{
  min-height:8px;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.excalibur-ai-processing-sub{
  margin:0.5rem 0 0 0;
}
.excalibur-ai-processing-elapsed{
  margin:0.35rem 0 0 0;
  font-weight:700;
  letter-spacing:0.03em;
  color:rgba(255,233,168,0.92);
}
.excalibur-orchestrator__action-continue.hidden{
  display:none !important;
}
.excalibur-continue-badge{
  display:inline-block;
  margin-left:6px;
  padding:2px 8px;
  border-radius:999px;
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.03em;
  background:rgba(0,0,0,0.28);
  border:1px solid rgba(255,204,0,0.35);
  vertical-align:middle;
}
@keyframes excalibur-ai-shimmer{
  0%{background-position:0% 50%;}
  100%{background-position:200% 50%;}
}
.excalibur-ai-processing-shimmer{
  font-size:1.05rem;
  font-weight:800;
  letter-spacing:0.04em;
  background:linear-gradient(90deg,#6eb7ff,#e8dcff,#6eb7ff);
  background-size:200% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:excalibur-ai-shimmer 2.2s linear infinite;
}

/* Excalibur live preview & sanity */
.excalibur-live-preview-wrap{
  margin-top:12px;
  padding:12px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--card2);
  max-height:280px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.excalibur-live-preview-wrap.excalibur-live-preview--empty{
  max-height:none;
}
.excalibur-live-preview-toolbar{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  flex-shrink:0;
  text-align:center;
}
.excalibur-live-preview-title{
  margin:0;
  font-size:0.92rem;
  width:100%;
}
.excalibur-live-preview-metrics{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:12px 20px;
  width:100%;
}
.excalibur-confidence-badge--live{
  max-width:min(100%, 480px);
}
.excalibur-sanity-score{
  font-variant-numeric:tabular-nums;
  font-weight:600;
  color:var(--muted, #94a3b8);
}
/* Live Hunt bar: aggregate sanity as status LED (>95 green, 85–95 orange, <85 red pulse) */
.excalibur-sanity-led{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:6px 16px;
  border-radius:999px;
  font-size:0.88rem;
  line-height:1.2;
  transition:box-shadow 0.25s ease, background 0.25s ease, color 0.25s ease;
}
.excalibur-sanity-led--neutral{
  color:var(--muted, #94a3b8);
  background:rgba(148,163,184,0.08);
  border:1px solid rgba(148,163,184,0.2);
  box-shadow:none;
}
.excalibur-sanity-led--green{
  color:#c8f7d4;
  background:rgba(34,197,94,0.14);
  border:1px solid rgba(34,197,94,0.35);
  box-shadow:0 0 18px rgba(34,197,94,0.5), inset 0 0 10px rgba(34,197,94,0.12);
}
.excalibur-sanity-led--orange{
  color:#ffe6c2;
  background:rgba(234,179,8,0.14);
  border:1px solid rgba(234,179,8,0.4);
  box-shadow:0 0 16px rgba(234,179,8,0.45), inset 0 0 8px rgba(234,179,8,0.1);
}
.excalibur-sanity-led--red{
  color:#fecaca;
  background:rgba(239,68,68,0.12);
  border:1px solid rgba(239,68,68,0.45);
  animation:excalibur-sanity-led-pulse 1.35s ease-in-out infinite;
}
@keyframes excalibur-sanity-led-pulse{
  0%, 100%{
    box-shadow:0 0 12px rgba(239,68,68,0.45), inset 0 0 6px rgba(239,68,68,0.08);
  }
  50%{
    box-shadow:0 0 26px rgba(239,68,68,0.75), inset 0 0 10px rgba(239,68,68,0.15);
  }
}
.excalibur-sanity-tier--bad{
  color:#e86b6b;
  font-weight:600;
}
.excalibur-sanity-tier--warn{
  color:#e6b422;
  font-weight:600;
}
.excalibur-sanity-tier--ok{
  color:#6bcb77;
  font-weight:600;
}
.excalibur-live-sanity-pct{
  font-variant-numeric:tabular-nums;
  font-weight:600;
  margin-left:8px;
  flex-shrink:0;
  min-width:2.5ch;
  text-align:right;
}
.audit-sanity-cell{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  min-width:118px;
}
.audit-sanity-pct{
  font-size:0.86rem;
  font-weight:600;
  white-space:nowrap;
}
.audit-row-verify-pro{
  max-width:100%;
}
.excalibur-tier-wrap--flash-only{
  line-height:1.4;
  padding-top:4px;
}
.excalibur-sanity-score.excalibur-sanity-score--warn{
  color:#e67e22;
}
.excalibur-confidence-badge{
  font-size:0.82rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  max-width:min(100%, 420px);
  line-height:1.35;
}
.excalibur-confidence-badge--green{
  color:#6bcb77;
}
.excalibur-confidence-badge--yellow{
  color:#e6b422;
}
.excalibur-confidence-badge--red{
  color:#e86b6b;
}
.excalibur-confidence-badge--ai-verified{
  color:#5ee0ff;
  text-shadow:0 0 12px rgba(94,224,255,0.25);
}
.excalibur-confidence-badge--ai-verified.excalibur-confidence-badge--titan{
  letter-spacing:0.02em;
  background:linear-gradient(105deg,#e8f4ff 0%,#a8d4ff 35%,#f5e6b8 70%,#c9a962 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  text-shadow:none;
  filter:drop-shadow(0 0 10px rgba(201,169,98,0.35)) drop-shadow(0 0 6px rgba(94,224,255,0.2));
}
.excalibur-escalation-badge{
  font-size:0.76rem;
  font-weight:500;
  color:var(--muted, #94a3b8);
  padding:2px 8px;
  border-radius:6px;
  background:rgba(148,163,184,0.1);
  border:1px solid rgba(148,163,184,0.22);
  max-width:min(100%, 420px);
  line-height:1.35;
}
.excalibur-auto-escalation-wrap{
  margin-top:8px;
  padding-top:6px;
  border-top:1px solid var(--line, rgba(255,255,255,0.08));
}
.excalibur-auto-escalation-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
}
.excalibur-auto-escalation-label input{
  margin:0;
}
.excalibur-live-shop-hint{
  width:100%;
  text-align:center;
  flex:none;
}
.btn.btn-xs{
  padding:4px 10px;
  font-size:0.78rem;
}
.excalibur-live-preview-trunc-hint{
  padding:6px 10px;
  margin-bottom:6px;
  border-radius:6px;
  background:rgba(148,163,184,0.1);
  border:1px solid rgba(148,163,184,0.22);
  line-height:1.35;
}
.excalibur-live-preview-list{
  overflow:auto;
  max-height:200px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.excalibur-desc-clamp{
  display:-webkit-box;
  -webkit-line-clamp:3;
  line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  word-break:break-word;
}
.audit-table .audit-desc.excalibur-desc-clamp{
  white-space:normal;
}
.excalibur-live-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:8px 10px;
  border-radius:6px;
  background:var(--bg-soft);
  border:1px solid transparent;
  margin:0;
}
.excalibur-live-row--readonly{
  cursor:default;
  user-select:text;
}
.excalibur-live-main{
  flex:1 1 0;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.excalibur-live-desc{
  font-size:0.82rem;
  color:var(--muted);
  line-height:1.35;
}
.excalibur-live-row--amber{
  border-color:rgba(230,126,34,0.65);
  background:rgba(230,126,34,0.1);
}
.excalibur-live-row-text{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  align-items:baseline;
  font-size:0.88rem;
}
.excalibur-live-cat{
  color:var(--muted);
  font-size:0.82em;
  max-width:100%;
}
.excalibur-live-title{
  font-weight:600;
  flex:1;
  min-width:120px;
}
.excalibur-live-price{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.excalibur-live-template-badge{
  display:block;
  margin-top:4px;
  font-size:0.75rem;
  color:var(--muted);
  line-height:1.3;
}
.excalibur-live-template-badge--confirmed{
  color:#7dcea0;
}
.excalibur-live-template-confirmed{
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  font-size:0.68rem;
}
.excalibur-live-template-label{
  color:var(--muted);
}
.excalibur-live-template-pct{
  font-variant-numeric:tabular-nums;
  opacity:0.9;
}

.audit-td-template{
  vertical-align:top;
  min-width:140px;
}
.audit-template-cell{
  max-width:260px;
}
.audit-template-match{
  margin-top:0;
  font-size:0.72rem;
  line-height:1.35;
  color:var(--muted);
}
.audit-template-match--confirmed{
  color:#7dcea0;
}
.audit-template-match-status{
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.04em;
  font-size:0.65rem;
}
.audit-template-match-pct{
  font-variant-numeric:tabular-nums;
  opacity:0.85;
}

.global-template-modal-card{
  max-width:560px;
}
.global-template-modal-label{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:12px;
}
.global-template-modal-label textarea{
  font-family:ui-monospace,Consolas,monospace;
  font-size:0.82rem;
}
.global-templates-table code.global-template-id-code{
  font-size:0.75rem;
  word-break:break-all;
}
.excalibur-template-hint-row{
  align-items:flex-start;
}
.excalibur-template-hint .fa-layer-group{
  margin-right:6px;
  opacity:0.85;
}

/* Excalibur tabs */
.excalibur-tab-panel{display:block;margin-top:12px}
.excalibur-tab-panel.hidden{display:none !important}
.audit-badge{
  font-size:0.8em;
  font-weight:700;
  margin-left:4px;
  color:var(--fire);
}
.audit-badge.hidden{display:none}
.audit-table td[contenteditable="true"]{
  outline:1px dashed transparent;
  transition:outline-color .15s ease, background .15s ease;
}
.audit-table td[contenteditable="true"]:focus{
  outline-color:rgba(255,204,0,0.5);
  background:rgba(255,255,255,0.04);
}
.audit-table .audit-row-delete{
  padding:6px 8px;
  color:var(--muted);
  cursor:pointer;
  border:none;
  background:transparent;
  border-radius:6px;
}
.audit-table .audit-row-delete:hover{
  color:var(--bad);
  background:rgba(231,76,60,0.15);
}

/* High-precision veracity: AI rows below 95% */
.audit-table tbody tr.audit-row-veracity-warn{
  outline:2px solid #ff0000;
  outline-offset:-2px;
  background:rgba(255,0,0,0.06);
}
.excalibur-live-row--veracity-warn{
  border-color:#ff0000 !important;
  box-shadow:0 0 0 2px #ff0000 inset;
  background:rgba(255,0,0,0.07);
}
.audit-table.audit-table--low-veracity{
  box-shadow:0 0 0 2px rgba(255,0,0,0.45);
}
.excalibur-veracity-banner{
  margin:0 0 12px 0;
  padding:10px 14px;
  border-radius:8px;
  background:rgba(255,0,0,0.1);
  border:2px solid #ff0000;
  font-size:0.88rem;
  line-height:1.45;
}
.excalibur-veracity-banner.hidden{display:none !important}
.excalibur-veracity-banner-note{
  display:block;
  margin-top:6px;
  font-size:0.82rem;
  color:var(--muted);
  font-weight:400;
}
.audit-table.audit-table--low-confidence td.audit-price.audit-price--low-confidence:not(.audit-price--sanity-warn){
  box-shadow:0 0 0 1px rgba(231,76,60,0.45), 0 0 12px rgba(231,76,60,0.18);
  border-radius:4px;
}
.audit-table td.audit-price.audit-price--low-confidence{
  background:rgba(231,76,60,0.08);
}
.audit-table td.audit-price.audit-price--sanity-warn:not(.audit-price--low-confidence){
  box-shadow:0 0 0 1px rgba(230,180,80,0.55), 0 0 14px rgba(230,180,80,0.28);
  border-radius:4px;
  background:rgba(230,180,80,0.07);
}
.audit-table td.audit-price.audit-price--low-confidence.audit-price--sanity-warn{
  box-shadow:
    0 0 0 1px rgba(231,76,60,0.42),
    0 0 10px rgba(231,76,60,0.16),
    0 0 0 1px rgba(230,180,80,0.45),
    0 0 14px rgba(230,180,80,0.22);
  border-radius:4px;
  background:rgba(231,76,60,0.06);
}

/* Bulk Image Audit – thumbnails & remove */
.bulk-image-status{
  font-size:0.85rem;
  color:var(--muted);
  margin-left:6px;
}
.bulk-image-status.hidden{display:none}
.audit-image-cell{
  width:56px;
  padding:6px !important;
  vertical-align:middle;
}
.audit-thumb-wrap{
  position:relative;
  display:inline-block;
}
.audit-thumb{
  width:44px;
  height:44px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid var(--line);
  display:block;
}
.audit-thumb-remove{
  position:absolute;
  top:-6px;
  right:-6px;
  width:20px;
  height:20px;
  border-radius:50%;
  border:none;
  background:var(--bad);
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.7rem;
  padding:0;
  line-height:1;
  box-shadow:0 2px 6px rgba(0,0,0,0.4);
}
.audit-thumb-remove:hover{
  background:#ff8a80;
  transform:scale(1.08);
}

/* Branding Tab & Mini Preview */
.branding-form input[type="color"]{
  width:100%;
  height:42px;
  border-radius:8px;
  border:1px solid var(--line);
  background:transparent;
  padding:3px;
  cursor:pointer;
}
.brand-preview-wrap{
  padding:12px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
  border-radius:12px;
}
.brand-mini-preview{
  display:flex;
  gap:0;
  min-height:120px;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,0.3);
}
.brand-preview-sidebar{
  width:48px;
  background:var(--brand-preview-secondary,#111111);
  transition:background .2s ease;
}
.brand-preview-main{
  flex:1;
  padding:12px;
  background:var(--bg-soft);
  display:flex;
  flex-direction:column;
  gap:8px;
  justify-content:center;
  align-items:flex-start;
}
.brand-preview-btn{
  padding:8px 14px;
  border-radius:8px;
  font-weight:700;
  font-size:0.82rem;
  border:none;
  cursor:default;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
  font-family:var(--brand-preview-font,inherit);
}
.brand-preview-btn:not(.secondary){
  background:var(--brand-preview-primary,#ffcc00);
  color:#111;
}
.brand-preview-btn.secondary{
  background:transparent;
  color:var(--brand-preview-primary,#ffcc00);
  border:2px solid var(--brand-preview-primary,#ffcc00);
}
@media (max-width:700px){
  .branding-form.infra-form{grid-template-columns:1fr}
}

/* Excalibur Control Panel */
.excalibur-control-panel{
  margin-top:12px;
  padding:14px;
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:12px;
}
.control-panel-row{
  margin-bottom:12px;
}
.control-panel-row:last-child{margin-bottom:0}
.control-panel-label{display:flex;flex-direction:column;gap:6px;width:100%}
.control-panel-label select{width:100%;max-width:280px}
.clear-toggle-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.clear-toggle-label{font-weight:700;font-size:0.9rem}
.destructive-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:0.72rem;
  font-weight:900;
  letter-spacing:0.3px;
  text-transform:uppercase;
  background:rgba(231,76,60,0.25);
  color:#ffb2a8;
  border:1px solid rgba(231,76,60,0.45);
}
.toggle-switch{
  position:relative;
  display:inline-block;
  width:56px;
  height:30px;
  flex-shrink:0;
}
.toggle-switch input{
  opacity:0;
  width:0;
  height:0;
}
.toggle-slider{
  position:absolute;
  cursor:pointer;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background:rgba(255,255,255,0.1);
  border:1px solid var(--line);
  border-radius:30px;
  transition:.25s;
}
.toggle-slider:before{
  position:absolute;
  content:"";
  height:22px;
  width:22px;
  left:3px;
  bottom:3px;
  background:var(--muted);
  border-radius:50%;
  transition:.25s;
}
.toggle-switch input:checked + .toggle-slider{
  background:rgba(231,76,60,0.35);
  border-color:rgba(231,76,60,0.6);
}
.toggle-switch input:checked + .toggle-slider:before{
  transform:translateX(26px);
  background:#ff6f61;
  box-shadow:0 0 8px rgba(255,111,97,0.5);
}
.toggle-switch-danger input:focus + .toggle-slider{box-shadow:0 0 0 4px rgba(231,76,60,0.2)}
.brand-field-locked{opacity:0.7;pointer-events:none}

.batch-progress-overlay{
  position:fixed;
  inset:0;
  z-index:200;
  background:rgba(0,0,0,0.6);
  backdrop-filter:blur(4px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.batch-progress-overlay.hidden{display:none !important}
.batch-progress-card{
  background:var(--card2);
  border:1px solid var(--line);
  border-radius:16px;
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
  min-width:280px;
  box-shadow:0 20px 40px rgba(0,0,0,0.4);
}
.batch-progress-card .spinner{flex-shrink:0}
.batch-progress-text{margin:0;font-weight:700;font-size:1rem}

/* Identity Assets & Branding Preview Bar */
.branding-preview-bar{
  margin-bottom:14px;
  padding:14px;
  background:var(--card2);
  border:1px solid var(--line);
  border-radius:12px;
}
.branding-preview-bar.hidden{display:none !important}
.branding-preview-assets{
  display:flex;
  gap:24px;
  flex-wrap:wrap;
  align-items:flex-start;
}
.branding-preview-item{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.branding-preview-label{
  font-size:0.8rem;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.identity-asset-preview{
  min-width:120px;
  min-height:80px;
  max-width:200px;
  max-height:120px;
  border-radius:8px;
  border:1px solid var(--line);
  overflow:hidden;
  background:rgba(255,255,255,0.04);
  display:flex;
  align-items:center;
  justify-content:center;
}
.identity-asset-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.identity-asset-preview:empty::before{
  content:"—";
  color:var(--muted);
  font-size:0.9rem;
}
.identity-assets-section.hidden{display:none !important}
.identity-assets-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.identity-tab-preview{
  min-height:80px;
  max-height:120px;
  border-radius:8px;
  border:1px solid var(--line);
  overflow:hidden;
  background:rgba(255,255,255,0.04);
  display:flex;
  align-items:center;
  justify-content:center;
}
.identity-tab-preview img{
  max-width:100%;
  max-height:120px;
  object-fit:contain;
}
.identity-tab-preview:empty::before{
  content:"Δεν επιλέχθηκε";
  color:var(--muted);
  font-size:0.85rem;
}
@media (max-width:600px){
  .identity-assets-grid{grid-template-columns:1fr}
  .branding-preview-assets{flex-direction:column}
}

/* Όταν ξεκινάει το sorting, εξαφάνισε τα προϊόντα ΑΚΑΡΙΑΙΑ */
body.sorting-active .products-container,
.products-blocks-container.is-sorting-categories .products-container{
  display:none !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
}

/* Το placeholder πρέπει να παραμείνει ορατό και λεπτό */
body.sorting-active .sortable-category-placeholder,
.products-blocks-container.is-sorting-categories .sortable-category-placeholder{
  display:block !important;
  height:50px !important;
  background:#ffcc0022 !important;
  border:2px dashed #ffcc00 !important;
}

/* Shop settings tab — 2 columns on desktop, left-aligned block (no ultra-wide stretch) */
#settingsTab{
  padding-bottom:8px;
}
.settings-tab-intro{
  margin:14px 0 22px;
  max-width:720px;
  line-height:1.55;
  color:rgba(242,244,248,0.72);
}
.settings-tab-savebar{
  position:sticky;
  bottom:12px;
  z-index:60;
  isolation:isolate;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px 20px;
  margin-top:20px;
  padding:14px 18px;
  max-width:1200px;
  border-radius:14px;
  border:1px solid rgba(255,204,0,0.35);
  background:linear-gradient(180deg, rgb(28,30,38), rgb(12,13,16));
  backdrop-filter:blur(10px);
  box-shadow:0 -4px 24px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.06);
}
.settings-tab-savebar-hint{
  margin:0;
  flex:1 1 200px;
  max-width:480px;
}
.settings-tab-savebar-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:1 1 260px;
}
.settings-tab-savebar-msg{
  margin:0;
  min-width:0;
  flex:1 1 180px;
  max-width:420px;
}
.settings-tab-savebar-cta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  flex-shrink:0;
  margin-left:auto;
}
.settings-unsaved-apply-hint{
  margin:0;
  color:#4ade80;
  font-size:0.92rem;
  font-weight:800;
  line-height:1.3;
  white-space:nowrap;
  text-shadow:0 0 12px rgba(74,222,128,0.35);
}
.settings-unsaved-apply-hint.hidden{
  display:none !important;
}
.settings-tab-savebar .shop-settings-save-btn{
  flex-shrink:0;
  min-width:min(100%, 260px);
  font-weight:800;
}
.settings-tab-layout{
  display:flex;
  flex-direction:column;
  gap:24px;
  width:100%;
  max-width:1200px;
}
.settings-tab-col{
  min-width:0;
}
@media (min-width:768px){
  .settings-tab-layout{
    display:grid;
    grid-template-columns:minmax(0,3fr) minmax(260px,2fr);
    gap:24px 28px;
    align-items:start;
    justify-items:stretch;
  }
  .settings-tab-col--main{
    max-width:640px;
    justify-self:start;
  }
  .settings-tab-col--branding{
    justify-self:stretch;
  }
  .settings-tab-col--main .settings-delivery-group,
  .settings-tab-col--main .settings-delivery-card,
  .settings-tab-col--main .settings-payment-card,
  .settings-tab-col--main .settings-distance-card{
    max-width:560px;
  }
  .settings-tab-col--main label.settings-field input,
  .settings-tab-col--main .card-fee-strategy-field .card-fee-strategy-group{
    max-width:min(440px,100%);
  }
  .settings-tab-col--branding label.settings-field input{
    max-width:100%;
  }
}
@media (max-width:767px){
  .settings-tab-layout{
    max-width:none;
  }
}

/* Shop settings — collapsible sections */
.settings-accordion{
  border:1px solid var(--border, rgba(255,255,255,0.1));
  border-radius:14px;
  background:rgba(255,255,255,0.02);
  margin:0 0 14px;
  overflow:hidden;
}
.settings-accordion--nested{
  margin:0 0 10px;
  border-radius:12px;
  background:rgba(0,0,0,0.12);
}
.settings-accordion-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.settings-accordion-summary::-webkit-details-marker{display:none}
.settings-accordion-summary::marker{content:""}
.settings-accordion-heading{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1.02rem;
  font-weight:800;
  color:var(--text, #f4f4f4);
  min-width:0;
}
.settings-accordion-heading i{
  color:var(--fire, #ffcc00);
  flex-shrink:0;
}
.settings-accordion-chevron{
  flex-shrink:0;
  opacity:0.65;
  font-size:0.85rem;
  transition:transform .2s ease;
}
.settings-accordion[open] > .settings-accordion-summary .settings-accordion-chevron{
  transform:rotate(180deg);
}
.settings-accordion-body{
  padding:0 16px 16px;
  border-top:1px solid var(--border, rgba(255,255,255,0.08));
}
.settings-accordion--nested .settings-accordion-summary{
  padding:11px 14px;
}
.settings-accordion--nested .settings-accordion-heading{
  font-size:0.92rem;
  font-weight:700;
}
.settings-accordion--nested .settings-accordion-body{
  padding:0 14px 12px;
}
.settings-accordion-hint{
  margin:0 0 14px;
  font-size:0.82rem;
}

/* Shop delivery settings tab */
.settings-delivery-group{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin:0 0 14px;
  max-width:520px;
}
.settings-delivery-group .settings-accordion{
  margin:0;
}
.settings-delivery-card,
.settings-payment-card,
.settings-delivery-group .settings-distance-card{
  max-width:520px;
  padding:0;
}
.settings-payment-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.settings-field--checkbox{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
  font-weight:600;
}
.settings-field--checkbox input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-top:2px;
  flex-shrink:0;
  accent-color:var(--accent, #6ee7b7);
  cursor:pointer;
}
.stripe-connect-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:min(720px, 100%);
  margin-top:4px;
}
.stripe-connect-empty-card,
.stripe-connect-connected-card{
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.1);
  background:linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
}
.stripe-connect-empty-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.stripe-connect-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  align-self:flex-start;
  min-width:240px;
  min-height:46px;
  font-size:0.92rem;
}
.stripe-connect-btn .fa-stripe{
  font-size:1.15rem;
}
.stripe-connect-btn.is-loading,
.stripe-connect-disconnect-btn.is-loading{
  opacity:0.75;
  cursor:wait;
}
.stripe-connect-connected-card{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.stripe-connect-status{
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.stripe-connect-status-icon{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(102,211,143,0.5);
  background:linear-gradient(180deg, rgba(102,211,143,0.28), rgba(102,211,143,0.1));
  color:#9ae8b8;
  font-size:1.05rem;
}
.stripe-connect-status-icon.is-warning{
  border-color:rgba(255,204,0,0.55);
  background:linear-gradient(180deg, rgba(255,204,0,0.28), rgba(255,204,0,0.1));
  color:#ffd966;
}
.stripe-connect-status-icon.is-pending{
  border-color:rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.06);
  color:var(--muted);
}
.stripe-connect-connected-card.is-incomplete{
  border-color:rgba(255,204,0,0.35);
  background:linear-gradient(180deg, rgba(255,204,0,0.08), rgba(255,255,255,0.02));
}
.stripe-connect-incomplete-banner{
  margin:6px 0 0;
  padding:8px 10px;
  border-radius:8px;
  border-left:3px solid #ffd966;
  background:rgba(255,204,0,0.12);
  font-size:0.82rem;
  line-height:1.45;
  color:#f5e6a8;
}
.stripe-connect-resume-btn{
  align-self:flex-start;
}
.stripe-connect-status-text{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.stripe-connect-status-title{
  font-size:0.95rem;
  font-weight:800;
  color:var(--text, #f4f4f4);
  line-height:1.3;
}
.stripe-connect-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(0,0,0,0.22);
  border:1px solid rgba(255,255,255,0.08);
}
.stripe-connect-meta-label{
  font-size:0.72rem;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--muted);
}
.stripe-connect-account-id-value{
  display:block;
  padding:0;
  margin:0;
  background:transparent;
  border:none;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:0.84rem;
  line-height:1.45;
  color:#e8ecf4;
  word-break:break-all;
}
.stripe-connect-footer{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding-top:2px;
  border-top:1px solid rgba(255,255,255,0.06);
}
.stripe-connect-disconnect-btn,
.stripe-connect-resume-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:6px 12px;
  font-size:0.8rem;
  font-weight:700;
}
.settings-field-hint,
.card-fee-strategy-hint{
  margin:6px 0 0;
}
.shop-hours-field-hint{
  line-height:1.5;
}
.shop-hours-field-hint__sample{
  display:inline-block;
  margin-top:6px;
  padding:8px 10px;
  border-radius:8px;
  border:1px dashed var(--line);
  background:rgba(255,255,255,0.03);
  font-family:ui-monospace,Consolas,monospace;
  font-size:0.78rem;
  line-height:1.45;
}
.settings-branding-card{
  max-width:none;
  padding:0;
}
.settings-tab-col--branding .settings-accordion{
  max-width:100%;
}
.settings-tab-col--branding label.settings-field input,
.settings-tab-col--branding label.settings-field textarea{
  max-width:100%;
  width:100%;
}
label.settings-field textarea{
  min-height:84px;
  resize:vertical;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--border, rgba(255,255,255,0.14));
  background:rgba(255,255,255,0.04);
  color:var(--text, #f4f4f4);
  font:inherit;
}
h3.settings-section-title{
  margin:0 0 8px;
  font-size:1.05rem;
  font-weight:800;
}
.settings-delivery-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
label.settings-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:0.9rem;
  font-weight:600;
}
label.settings-field span{
  color:var(--muted);
  font-weight:600;
}
label.settings-field input{
  max-width:320px;
}
.settings-actions{
  margin-top:6px;
}
.card-fee-strategy-field .card-fee-strategy-group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  max-width:min(720px, 100%);
  margin-top:4px;
}
.card-fee-strategy-btn{
  flex:1 1 180px;
  min-height:44px;
  padding:10px 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.04);
  color:var(--text, #f4f4f4);
  font-size:0.88rem;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  cursor:pointer;
  transition:border-color .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
}
.card-fee-strategy-btn:hover{
  border-color:rgba(255,214,64,0.45);
  background:rgba(255,214,64,0.08);
}
.card-fee-strategy-btn.is-active{
  border-color:rgba(255,214,64,0.9);
  background:linear-gradient(180deg, rgba(255,214,64,0.28), rgba(255,170,40,0.12));
  color:#fff8e6;
  box-shadow:0 0 0 1px rgba(255,200,60,0.35), 0 4px 14px rgba(0,0,0,0.25);
}
.card-fee-strategy-btn:focus-visible{
  outline:2px solid rgba(255,214,64,0.85);
  outline-offset:2px;
}
.card-fee-strategy-hint{
  max-width:520px;
}
.shop-settings-save-btn .btn-save-spinner{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
/* Unsaved: pulse glow (distinct from static .btn-primary gold fill) */
.shop-settings-save-btn.btn--unsaved-changes:not(:disabled),
#saveOptionsBtn.btn--unsaved-changes:not(:disabled){
  border-color:rgba(255,220,90,0.75) !important;
  background:linear-gradient(180deg, rgba(255,204,0,0.32), rgba(255,204,0,0.14)) !important;
  color:var(--text);
  animation:shopSettingsSaveOutlineGlow 1.75s ease-in-out infinite;
}
.shop-settings-save-btn.btn--unsaved-changes:not(:disabled):hover,
#saveOptionsBtn.btn--unsaved-changes:not(:disabled):hover{
  background:linear-gradient(180deg, rgba(255,204,0,0.38), rgba(255,204,0,0.16)) !important;
  color:var(--text);
}
.settings-distance-card--dirty .settings-accordion-summary{
  border-color:rgba(255,204,0,0.35);
}
@keyframes shopSettingsSaveOutlineGlow{
  0%,100%{
    border-color:rgba(255,204,0,0.45);
    box-shadow:0 0 0 1px rgba(255,204,0,0.28), 0 0 10px rgba(255,204,0,0.2);
  }
  50%{
    border-color:rgba(255,230,120,0.95);
    box-shadow:
      0 0 0 2px rgba(255,220,90,0.75),
      0 0 14px rgba(255,204,0,0.45),
      0 0 28px rgba(255,180,0,0.28);
  }
}

/* Success / info toast */
.admin-toast{
  position:fixed;
  bottom:24px;
  right:24px;
  z-index:20000;
  padding:12px 18px;
  border-radius:12px;
  background:var(--ok);
  color:#fff;
  font-weight:700;
  font-size:0.9rem;
  box-shadow:0 8px 28px rgba(0,0,0,.4);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
  max-width:min(420px,calc(100vw - 48px));
}
.admin-toast.show{
  opacity:1;
  pointer-events:auto;
}
.admin-toast.admin-toast--error{
  background:linear-gradient(180deg,#e74c3c 0%,#b93226 100%);
  color:#fff;
  font-size:0.92rem;
  line-height:1.45;
  padding:14px 20px;
  box-shadow:0 10px 32px rgba(192,57,43,0.45);
  border:1px solid rgba(255,255,255,0.2);
}
.admin-toast.admin-toast--action{
  bottom:88px;
  max-width:min(520px,calc(100vw - 48px));
}
.admin-toast__action-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  justify-content:space-between;
}
.admin-toast__action-row .admin-toast__msg{
  flex:1 1 220px;
  font-weight:700;
  line-height:1.35;
  margin:0;
}

/* Help Academy — videos left, text manual right */
#helpTab .help-academy-intro{
  max-width:none;
  margin:0 0 18px;
}
.help-tab-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:1.75rem 2rem;
  align-items:start;
}
@media (min-width:1024px){
  .help-tab-layout{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  }
}
.help-tab-col--videos{
  min-width:0;
}
.help-tab-col--manual{
  min-width:0;
}
@media (min-width:1024px){
  .help-manual-panel{
    position:sticky;
    top:72px;
    max-height:calc(100vh - 96px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-right:4px;
  }
}
.help-manual-panel{
  background:var(--card2);
  border:1px solid var(--line);
  border-radius:16px;
  padding:18px 18px 14px;
  box-shadow:0 4px 22px rgba(15, 23, 42, 0.06);
}
.help-manual-title{
  margin:0 0 8px;
  font-size:1.05rem;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:8px;
}
.help-manual-intro{
  margin:0 0 12px;
  line-height:1.45;
}
.help-manual-toc{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255, 204, 0, 0.08);
  border:1px solid rgba(255, 204, 0, 0.22);
  line-height:1.55;
}
.help-manual-toc a{
  color:var(--fire);
  font-weight:700;
  text-decoration:none;
}
.help-manual-toc a:hover{
  text-decoration:underline;
}
.help-step-num{
  color:var(--fire);
  font-weight:800;
  margin-right:6px;
}
.help-manual-accordion summary .help-step-num{
  flex-shrink:0;
}
.help-manual-accordion{
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:8px;
  overflow:hidden;
  background:var(--card);
}
.help-manual-accordion summary{
  cursor:pointer;
  padding:11px 14px;
  font-weight:800;
  font-size:0.92rem;
  line-height:1.35;
  list-style:none;
  display:flex;
  align-items:center;
  gap:8px;
  user-select:none;
}
.help-manual-accordion summary::-webkit-details-marker{
  display:none;
}
.help-manual-accordion summary::before{
  content:'▸';
  font-size:0.75rem;
  opacity:0.65;
  transition:transform .15s ease;
  flex-shrink:0;
}
.help-manual-accordion[open] summary::before{
  transform:rotate(90deg);
}
.help-manual-accordion summary:hover{
  background:rgba(255, 204, 0, 0.06);
}
.help-manual-body{
  padding:0 14px 14px;
  font-size:0.88rem;
  line-height:1.55;
}
.help-manual-body p{
  margin:0 0 10px;
}
.help-manual-body ul,
.help-manual-body ol{
  margin:0 0 10px;
  padding-left:1.25rem;
}
.help-manual-body li{
  margin-bottom:5px;
}
.help-manual-body li:last-child{
  margin-bottom:0;
}
.help-manual-callout{
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:10px;
  border-left:3px solid var(--fire);
  background:rgba(255, 204, 0, 0.1);
  font-size:0.86rem;
  line-height:1.5;
}
.help-notice{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:10px;
  border-left:3px solid var(--fire);
  background:rgba(255, 204, 0, 0.1);
  font-size:0.86rem;
  line-height:1.5;
}
.help-manual-body h4{
  margin:14px 0 8px;
  font-size:0.9rem;
  font-weight:800;
  line-height:1.35;
}
.help-manual-body h4:first-child{
  margin-top:0;
}
.help-manual-body code{
  display:inline-block;
  padding:2px 6px;
  border-radius:6px;
  background:rgba(15, 23, 42, 0.08);
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:0.82rem;
  word-break:break-all;
}
.help-manual-coming-soon{
  margin:0 0 12px;
  padding:12px 14px;
  border-radius:10px;
  border:1px dashed rgba(255, 204, 0, 0.35);
  border-left:3px solid var(--fire);
  background:rgba(255, 204, 0, 0.08);
  font-size:0.86rem;
  line-height:1.5;
}
.help-manual-coming-soon strong{
  display:block;
  margin-bottom:6px;
  font-size:0.92rem;
}
.help-manual-coming-soon p{
  margin:0 0 8px;
}
.help-manual-coming-soon p:last-child{
  margin-bottom:0;
}
.help-manual-soon-badge{
  display:inline-block;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  font-size:0.68rem;
  font-weight:800;
  letter-spacing:0.03em;
  text-transform:uppercase;
  vertical-align:middle;
  color:rgba(15, 23, 42, 0.88);
  background:rgba(255, 204, 0, 0.22);
  border:1px solid rgba(255, 204, 0, 0.35);
}
.help-manual-toc .help-manual-soon-badge{
  margin-left:4px;
  font-size:0.62rem;
  padding:1px 6px;
}
.help-manual-protip{
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:10px;
  border-left:3px solid #22c55e;
  background:rgba(34, 197, 94, 0.1);
  font-size:0.86rem;
  line-height:1.5;
}
.help-manual-video{
  margin:0.65rem 0 0.85rem;
}
.help-manual-video-link{
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  font-weight:700;
  color:var(--accent,#0891b2);
  text-decoration:none;
}
.help-manual-video-link:hover,
.help-manual-video-link:focus-visible{
  text-decoration:underline;
}
.help-manual-code{
  display:inline-block;
  padding:2px 6px;
  border-radius:6px;
  background:rgba(15, 23, 42, 0.08);
  font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size:0.82rem;
  word-break:break-all;
}
.help-manual-footer{
  margin:12px 0 0;
  padding-top:10px;
  border-top:1px solid var(--line);
  text-align:center;
}
.help-manual-legal{
  margin:16px 0 0;
  padding:12px 12px 10px;
  border-radius:10px;
  border:1px solid rgba(255, 204, 0, 0.18);
  background:rgba(255, 204, 0, 0.05);
}
.help-manual-legal-title{
  margin:0 0 8px;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:7px;
  color:rgba(242, 244, 248, 0.92);
}
.help-manual-legal-list{
  margin:0;
  padding:0 0 0 1.1rem;
  line-height:1.5;
}
.help-manual-legal-list li{
  margin:5px 0;
}
.help-manual-legal-list a{
  color:var(--fire);
  font-weight:700;
  text-decoration:none;
}
.help-manual-legal-list a:hover{
  text-decoration:underline;
}
.help-manual-legal-note{
  margin:8px 0 0;
  line-height:1.45;
}
.help-manual-accordion[id]{
  scroll-margin-top:12px;
}
#helpTab .help-academy-grid{
  margin-left:0;
  margin-right:0;
  max-width:none;
}
.help-academy-grid{
  display:flex;
  flex-direction:column;
  gap:1rem;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  align-items:stretch;
}
.help-academy-row{
  display:flex;
  flex-direction:column;
  gap:0.45rem;
  width:100%;
  min-width:0;
}
.help-academy-row-title{
  margin:0;
  font-size:0.88rem;
  font-weight:800;
  letter-spacing:0.04em;
  line-height:1.3;
  color:inherit;
  padding-bottom:4px;
  border-bottom:2px solid var(--fire);
}
.help-academy-row-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:0.65rem 0.55rem;
  align-items:stretch;
}
@media (min-width:480px){
  .help-academy-row-cards{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
.help-card{
  background:var(--card2);
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 10px 9px;
  display:flex;
  flex-direction:column;
  gap:6px;
  box-shadow:0 2px 12px rgba(15, 23, 42, 0.05);
  transition:box-shadow .2s ease, border-color .2s ease, transform .15s ease;
}
.help-card--academy-video{
  min-width:0;
  padding:11px 11px 10px;
  gap:7px;
  border:1px solid rgba(255, 255, 255, 0.08);
  border-left:2px solid rgba(255, 204, 0, 0.5);
  background:linear-gradient(165deg, rgba(255, 255, 255, 0.025) 0%, transparent 42%), var(--card2);
}
.help-card--academy-video:hover{
  box-shadow:0 6px 22px rgba(0, 0, 0, 0.28);
  border-color:rgba(255, 204, 0, 0.22);
  border-left-color:rgba(255, 204, 0, 0.72);
  transform:translateY(-1px);
}
.help-academy-card-head{
  display:flex;
  align-items:flex-start;
  gap:7px;
  min-width:0;
}
.help-academy-num{
  font-size:0.72rem;
  font-weight:800;
  line-height:1;
  color:rgba(15, 23, 42, 0.88);
  margin:0;
  padding:4px 7px;
  width:fit-content;
  min-width:1.55rem;
  text-align:center;
  border-radius:8px;
  border:1px solid rgba(15, 23, 42, 0.1);
  background:rgba(255, 204, 0, 0.12);
  flex:0 0 auto;
}
.help-card h3{
  margin:0;
  font-size:1rem;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:8px;
}
.help-academy-video-title{
  margin:0;
  min-width:0;
  font-size:0.8rem;
  font-weight:700;
  line-height:1.35;
  letter-spacing:0.01em;
  color:rgba(242, 244, 248, 0.94);
}
.help-card--academy-video.help-academy-card--focus{
  border-radius:12px;
  border-color:rgba(255, 204, 0, 0.35);
  border-left-color:var(--fire);
  box-shadow:0 0 0 1px rgba(255, 204, 0, 0.2), 0 8px 28px rgba(0, 0, 0, 0.32);
}
.help-embed{
  position:relative;
  width:100%;
  max-width:none;
  margin:1px 0 0;
  border-radius:10px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 90% 70% at 50% 108%, rgba(255, 204, 0, 0.05), transparent 58%),
    linear-gradient(168deg, #0c0c10 0%, #13131a 52%, #08080a 100%);
  border:1px solid rgba(255, 255, 255, 0.07);
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.help-embed.ratio-16x9{
  aspect-ratio:16/9;
}
/* Full-width 16:9 tile — contain keeps the frame uncropped */
.help-embed.help-embed--academy-compact{
  width:100%;
  aspect-ratio:16/9;
  max-height:none;
  max-width:none;
  margin:0;
  transition:box-shadow .22s ease, border-color .22s ease;
}
.help-video-lazy.is-loaded.help-embed--academy-compact{
  border-color:rgba(255, 204, 0, 0.14);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 6px 20px rgba(0, 0, 0, 0.28);
}
.help-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.help-video-lazy{
  position:relative;
}
.help-video-lazy__thumb{
  position:absolute;
  inset:0;
  z-index:2;
  background:#101014 center/contain no-repeat;
  pointer-events:none;
  transition:opacity .22s ease;
}
.help-video-lazy.has-thumb .help-video-lazy__thumb{
  opacity:0;
  visibility:hidden;
}
.help-video-lazy.is-loaded .help-video-lazy__thumb{
  opacity:0;
  visibility:hidden;
  transition:none;
}
.help-video-lazy__gate{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:0;
  padding:10px;
  border:0;
  border-radius:10px;
  cursor:pointer;
  font:inherit;
  color:rgba(255, 255, 255, 0.95);
  background:rgba(8, 8, 12, 0.55);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  transition:background .2s ease, opacity .2s ease;
}
.help-video-lazy.has-thumb .help-video-lazy__gate{
  background:linear-gradient(180deg, rgba(8, 8, 12, 0.04) 0%, rgba(8, 8, 12, 0.42) 100%);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  opacity:1;
}
.help-video-lazy.has-thumb .help-video-lazy__gate:hover,
.help-video-lazy.has-thumb .help-video-lazy__gate:focus-visible{
  background:linear-gradient(180deg, rgba(8, 8, 12, 0.12) 0%, rgba(8, 8, 12, 0.58) 100%);
}
.help-video-lazy__gate:hover{
  background:rgba(14, 14, 18, 0.72);
}
.help-video-lazy__gate:focus-visible{
  outline:2px solid rgba(255, 204, 0, 0.75);
  outline-offset:2px;
}
.help-video-lazy__play{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.85rem;
  height:2.85rem;
  border-radius:999px;
  font-size:1.45rem;
  line-height:1;
  color:#fff;
  background:rgba(0, 0, 0, 0.42);
  border:1px solid rgba(255, 255, 255, 0.16);
  box-shadow:0 6px 22px rgba(0, 0, 0, 0.42);
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.help-video-lazy__play i{
  margin-left:2px;
}
.help-video-lazy__gate:hover .help-video-lazy__play,
.help-video-lazy__gate:focus-visible .help-video-lazy__play{
  transform:scale(1.06);
  border-color:rgba(255, 204, 0, 0.42);
  background:rgba(0, 0, 0, 0.55);
  box-shadow:0 8px 26px rgba(0, 0, 0, 0.5);
}
.help-video-lazy.has-thumb .help-video-lazy__hint{
  display:none;
}
.help-video-lazy__hint{
  font-size:0.68rem;
  font-weight:600;
  letter-spacing:0.02em;
  text-align:center;
  max-width:11rem;
  line-height:1.3;
  opacity:0.9;
}
.help-video-lazy.is-loaded .help-video-lazy__gate{
  display:none;
}
.help-embed--video.ratio-16x9 video.help-academy-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  border:0;
  border-radius:10px;
  z-index:1;
  background:transparent;
  box-shadow:none;
}
video.help-academy-video:fullscreen,
video.help-academy-video:-webkit-full-screen{
  position:fixed;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#000 !important;
  border-radius:0;
  box-shadow:none;
}
.help-video-lazy:not(.has-thumb) video.help-academy-video{
  opacity:0;
}
.help-video-lazy:not(.is-loaded) video.help-academy-video{
  pointer-events:none;
}
.help-card-link{
  font-size:0.88rem;
  font-weight:700;
  color:var(--fire);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.help-card-link:hover{
  text-decoration:underline;
}
body.dark .help-academy-row-title{
  border-bottom-color:var(--fire);
}
body.dark .help-academy-num{
  color:rgba(248, 250, 252, 0.92);
  border-color:rgba(255, 255, 255, 0.12);
  background:rgba(255, 204, 0, 0.14);
}
body.dark .help-card--academy-video{
  border-left-color:rgba(255, 204, 0, 0.55);
  box-shadow:0 4px 18px rgba(0, 0, 0, 0.22);
}
body.dark .help-card--academy-video:hover{
  box-shadow:0 8px 28px rgba(0, 0, 0, 0.38);
  border-color:rgba(255, 204, 0, 0.24);
  border-left-color:var(--fire);
}
body.dark .help-embed{
  border-color:rgba(255, 255, 255, 0.1);
}
body.dark .help-manual-panel{
  box-shadow:0 6px 28px rgba(0, 0, 0, 0.38);
}
body.dark .help-manual-toc{
  background:rgba(255, 204, 0, 0.1);
  border-color:rgba(255, 204, 0, 0.18);
}
body.dark .help-manual-callout{
  background:rgba(255, 204, 0, 0.08);
}
body.dark .help-notice{
  background:rgba(255, 204, 0, 0.08);
}
body.dark .help-manual-body code{
  background:rgba(255, 255, 255, 0.08);
  color:rgba(248, 250, 252, 0.92);
}
body.dark .help-manual-coming-soon{
  background:rgba(255, 204, 0, 0.06);
  border-color:rgba(255, 204, 0, 0.22);
}
body.dark .help-manual-soon-badge{
  color:rgba(248, 250, 252, 0.92);
  background:rgba(255, 204, 0, 0.14);
  border-color:rgba(255, 204, 0, 0.28);
}
body.dark .help-manual-protip{
  background:rgba(34, 197, 94, 0.12);
}
body.dark .help-manual-code{
  background:rgba(255, 255, 255, 0.08);
  color:rgba(248, 250, 252, 0.92);
}
body.dark .help-manual-accordion summary:hover{
  background:rgba(255, 204, 0, 0.08);
}

/* Smart / distance delivery settings */
.settings-distance-card{
  max-width:520px;
  padding:0;
}
.settings-delivery-group .settings-distance-card--in-main{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.smart-delivery-activate-wrap{
  margin-bottom:16px;
}
.delivery-params-group{
  background:rgba(255, 255, 255, 0.03);
  border-left:3px solid var(--fire);
  padding:15px;
  border-radius:6px;
  margin-top:20px;
  display:flex;
  flex-direction:column;
  gap:15px;
}
.delivery-params-group .settings-field{
  margin:0;
}
.delivery-params-group--locked{
  opacity:0.5;
  pointer-events:none;
}
.delivery-params-group--locked .settings-field input{
  cursor:not-allowed;
}
body.dark .delivery-params-group{
  background:rgba(255, 255, 255, 0.03);
}
.smart-delivery-map{
  width:100%;
  height:280px;
  margin-top:10px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#1a1f2e;
  overflow:hidden;
}
.smart-delivery-map-hint{
  margin:8px 0 0;
}
.smart-delivery-places-host{
  display:block;
  width:100%;
}
.smart-delivery-places-host gmp-place-autocomplete{
  width:100%;
}
.smart-delivery-address-sync--hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
/* Google Places suggestions above admin panels */
.pac-container,
.gmp-place-autocomplete__dropdown{
  z-index:2500 !important;
}
.feature-upgrade-banner{
  margin-bottom:16px;
  padding:16px 18px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(255,204,0,0.12),rgba(133,32,32,0.18));
  border:1px solid rgba(255,204,0,0.35);
}
.feature-upgrade-banner__inner{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
}
.feature-upgrade-badge{
  font-size:0.68rem;
  font-weight:900;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--bg);
  background:var(--fire);
  padding:4px 10px;
  border-radius:999px;
}
.feature-upgrade-title{
  margin:0;
  font-size:1.08rem;
  font-weight:800;
}
.feature-upgrade-price{
  margin:0;
  font-size:0.9rem;
}
.feature-upgrade-price strong{
  color:var(--fire);
  font-size:1.1rem;
}
.feature-upgrade-hint{
  margin:0 !important;
  color:var(--bad) !important;
  font-weight:700;
}
.distance-delivery-fields-wrap{
  position:relative;
  padding:4px 0;
  border-radius:10px;
  transition:filter .2s ease,opacity .2s ease;
}
.distance-delivery-fields-wrap.is-distance-locked{
  filter:blur(7px);
  opacity:0.45;
  pointer-events:none;
  user-select:none;
}
.distance-delivery-fields-wrap:not(.is-distance-locked){
  filter:none;
  opacity:1;
  pointer-events:auto;
}

/* Super Admin — shop cards & archive */
.shop-list-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.shop-list-search{
  flex:1 1 280px;
  min-width:0;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--ctrl-bg);
  color:var(--ctrl-text);
  font-size:0.9rem;
}
.shop-list-archive-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:0.88rem;
  cursor:pointer;
  user-select:none;
  color:var(--muted);
}
.shop-cards-wrap{
  overflow:visible;
}
.shop-cards{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.shop-card{
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--card2);
  padding:12px 14px;
  transition:outline .15s ease, box-shadow .15s ease;
}
.shop-card.selected-shop{
  outline:2px solid rgba(133,32,32,0.5);
  box-shadow:0 0 0 1px rgba(133,32,32,0.25);
}
.shop-card__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.shop-card__identity{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.shop-card__name{
  font-size:1rem;
}
/* Super Admin (holy): title is a button — rename in two steps */
button.shop-card__name.shop-card__name--editable{
  font:inherit;
  font-weight:700;
  font-size:1rem;
  background:none;
  border:none;
  padding:0;
  margin:0;
  cursor:pointer;
  color:inherit;
  text-align:left;
  border-radius:4px;
}
button.shop-card__name.shop-card__name--editable:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
button.shop-card__name.shop-card__name--editable:focus-visible{
  outline:2px solid rgba(255,204,0,0.55);
  outline-offset:2px;
}
.shop-card__id{
  font-size:0.78rem;
  opacity:0.85;
  padding:2px 6px;
  border-radius:4px;
  background:var(--bg-soft);
}
.shop-archive-pill{
  font-size:0.72rem;
  font-weight:700;
  padding:2px 8px;
  border-radius:999px;
  letter-spacing:0.02em;
}
.shop-archive-pill--live{
  background:rgba(46,204,113,0.12);
  color:#6bcb77;
}
.shop-archive-pill--archived{
  background:rgba(160,160,180,0.12);
  color:var(--muted);
}
.shop-card__icon-actions{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  align-items:center;
}
.shop-card__icon-actions .btn-icon{
  padding:6px 10px;
  min-width:auto;
}
.shop-card__slide-viewport{
  display:grid;
  position:relative;
  overflow:hidden;
}
.shop-card__slide-viewport:empty{
  display:none;
}
/* Keep toolbar buttons out of the slide stack — no phantom hit area when panels are closed */
.shop-card__head,
.shop-card__meta,
.shop-card__storefront,
.shop-card__hosting,
.shop-card__quick-actions{
  position:relative;
  z-index:2;
}
.shop-card:not(.shop-card--controls-open):not(.shop-card--admin-entry-open) .shop-card__slide-viewport{
  display:none;
  margin-top:0;
}
.shop-card--controls-open .shop-card__slide-viewport,
.shop-card--admin-entry-open .shop-card__slide-viewport{
  display:grid;
  margin-top:10px;
}
.shop-card__main-pane,
.shop-card__admin-pane{
  grid-area:1 / 1;
  min-width:0;
  transition:transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.22s ease, visibility 0.28s;
}
.shop-card__main-pane{
  transform:translateX(0);
  opacity:1;
  visibility:visible;
}
.shop-card__admin-pane{
  display:none;
  flex-direction:column;
  gap:10px;
  padding:2px 0 4px;
  transform:translateX(18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.shop-card--admin-entry-open .shop-card__main-pane{
  transform:translateX(-18px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.shop-card--admin-entry-open .shop-card__admin-pane{
  display:flex;
  transform:translateX(0);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.shop-card__admin-entry-toggle.is-active{
  border-color:rgba(255,204,0,0.55) !important;
  background:rgba(255,204,0,0.12) !important;
}
.shop-card__admin-pane-head{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.shop-card__admin-pane-title{
  font-weight:700;
  font-size:0.95rem;
  line-height:1.3;
}
.shop-card__admin-pane-hint{
  margin:0;
  line-height:1.4;
}
.shop-card__admin-entry-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.shop-card__admin-entry-item{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  width:100%;
  padding:10px 12px !important;
  border-radius:10px;
  font-size:0.82rem;
  font-weight:600;
  text-decoration:none;
  border:1px solid var(--line);
}
.shop-card__admin-entry-item:hover{
  background:rgba(255,204,0,0.1);
  border-color:rgba(255,204,0,0.35);
}
.shop-card__admin-entry-item--god i{
  color:#ffcc00;
}
.shop-card__admin-entry-item i{
  width:1rem;
  text-align:center;
  flex-shrink:0;
}
.shop-btn-delete{
  color:#e86b6b !important;
}
.shop-btn-delete:hover{
  background:rgba(231,76,60,0.12) !important;
}
.shop-card__meta{
  margin:8px 0 10px 0;
  line-height:1.45;
}
.shop-card__storefront{
  margin:0 0 8px;
  line-height:1.4;
  word-break:break-all;
}
.shop-card__storefront a{
  color:var(--accent, #7a5a00);
  text-decoration:none;
}
.shop-card__storefront-edit{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  margin:0;
  border:none;
  background:transparent;
  color:var(--accent, #7a5a00);
  font:inherit;
  font-size:inherit;
  line-height:inherit;
  cursor:pointer;
  text-align:left;
  border-radius:4px;
}
.shop-card__storefront-edit:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.shop-card__storefront-edit:focus-visible{
  outline:2px solid rgba(255,204,0,0.55);
  outline-offset:2px;
}
.shop-card__hosting{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 8px;
  line-height:1.4;
}
.shop-card__hosting-pill{
  flex-shrink:0;
}
.shop-card__hosting-retry.is-loading{
  pointer-events:none;
  opacity:0.85;
}
.shop-card__hosting-hint{
  flex:1 1 100%;
  font-size:0.78rem;
  line-height:1.35;
  word-break:break-word;
}
.shop-card__slug-preview{
  user-select:text;
  cursor:default;
  pointer-events:none;
  margin:4px 0 0;
  word-break:break-all;
  line-height:1.35;
}
.shop-card__slug-change-warning{
  margin:8px 0 0;
  padding:8px 10px;
  font-size:0.78rem;
  line-height:1.45;
  border-radius:8px;
  border:1px solid rgba(239,68,68,0.45);
  background:rgba(239,68,68,0.1);
  color:#fecaca;
}
.shop-card__slug-change-warning.hidden{
  display:none !important;
}
.shop-card__preview-link{
  text-decoration:none;
}
.tenant-shop-id-display:disabled{
  opacity:0.72;
  cursor:not-allowed;
}
.shop-card__quick-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:10px;
}
.shop-card__controls-toggle.is-active{
  border-color:rgba(255,204,0,0.55) !important;
  background:rgba(255,204,0,0.12) !important;
}
.shop-card--controls-open{
  min-width:0;
}
.shop-card--settings-dirty .shop-card__controls-toggle.is-active{
  box-shadow:0 0 0 2px rgba(255,213,74,0.35);
}
.shop-card__controls-panel{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:14px;
}
.shop-card__controls-panel.hidden{
  display:none;
}
.shop-card__controls-section{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.shop-card__controls-section-title{
  margin:0;
  font-size:0.82rem;
  font-weight:800;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:rgba(255,233,168,0.88);
  display:flex;
  align-items:center;
  gap:8px;
}
.shop-card__controls-section-title i{
  opacity:0.85;
  font-size:0.9em;
}
.shop-card__access{
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.02);
}
.shop-card__access-id-wrap{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.shop-card__copy-id{
  padding:2px 6px !important;
  min-width:auto !important;
}
.shop-card__access-row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
}
.shop-card__access-label{
  font-size:0.78rem;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0.03em;
}
.shop-card__access-value{
  font-size:0.9rem;
  word-break:break-all;
}
.shop-card__access-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.shop-card__transfer-btn{
  align-self:flex-start;
  margin-top:0;
}
.shop-lock-modal{
  max-width:480px;
}
.shop-lock-modal__meta{
  margin:0 0 16px;
  line-height:1.5;
}
.shop-lock-modal__switch-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 14px;
  cursor:pointer;
  font-weight:600;
}
.shop-lock-modal__switch-row input{
  margin-top:3px;
  flex-shrink:0;
}
.shop-lock-modal__fee-label{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0;
}
.shop-lock-modal__fee-label.hidden{
  display:none;
}
.shop-lock-modal__fee-label input{
  width:100%;
  max-width:200px;
}
.shop-card__lock-hint{
  align-self:center;
  white-space:nowrap;
  font-size:0.72rem;
  opacity:0.85;
}
.owner-access-modal{
  max-width:520px;
}
.owner-access-modal__meta{
  margin:0 0 14px;
}
.owner-access-section{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 0;
  border-top:1px solid var(--line);
}
.owner-access-section:first-of-type{
  border-top:0;
  padding-top:0;
}
.owner-access-section__title{
  margin:0;
  font-size:0.95rem;
  font-weight:700;
}
.owner-access-row,
.owner-access-coowner-form,
.owner-access-invite-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.owner-access-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  width:100%;
}
.owner-access-field__label{
  font-size:0.85rem;
  font-weight:600;
}
.owner-access-invite-result{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:4px;
  padding:10px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(110,231,160,0.06);
}
.owner-access-invite-result.hidden{
  display:none !important;
}
.owner-access-invite-link{
  font-family:ui-monospace,Consolas,monospace;
  font-size:0.78rem;
}
.owner-access-invite-hint{
  margin:0;
}
.owner-access-input{
  flex:1 1 180px;
  min-width:0;
  padding:8px 10px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--bg, #111);
  color:inherit;
}
.owner-access-coowner-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.owner-access-coowner-list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:6px 10px;
  border-radius:8px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.02);
}
.owner-access-coowner-item{
  list-style:none;
}
.owner-access-coowner-email{
  word-break:break-all;
  font-size:0.88rem;
}
.owner-access-coowner-remove{
  flex-shrink:0;
  color:#f0a8a8 !important;
}
.owner-access-coowner-empty{
  list-style:none;
  padding:8px 10px;
  border-radius:8px;
  border:1px dashed var(--line);
  text-align:center;
}
#ownerAccessCoOwnerAddBtn:disabled{
  opacity:0.45;
  cursor:not-allowed;
}
.owner-access-modal__msg{
  margin:8px 0 0;
  min-height:1.2em;
}
.owner-access-modal__msg.is-ok{
  color:var(--ok, #6ee7a0);
}
.owner-access-modal__msg.is-err{
  color:var(--bad, #f87171);
}
.shop-card__settings{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.shop-card__settings-group{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.015);
}
.shop-card__settings-group-label{
  font-size:0.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.05em;
  color:var(--muted);
}
.shop-card__settings-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px 12px;
  align-items:start;
}
.shop-card__settings-grid--payment{
  grid-template-columns:1fr;
}
.shop-card__field-label{
  display:block;
  font-size:0.72rem;
  font-weight:600;
  color:var(--muted);
  margin-bottom:4px;
}
.shop-card__text-input,
.shop-card__select{
  width:100%;
  box-sizing:border-box;
  padding:8px 10px;
  font-size:0.82rem;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--ctrl-bg, rgba(0,0,0,0.25));
  color:inherit;
  font:inherit;
}
.shop-card__text-input--rate{
  max-width:120px;
}
.shop-card__field--checkbox{
  display:flex;
  align-items:flex-end;
  min-height:100%;
  padding-bottom:2px;
}
.shop-card__checkbox-label{
  font-size:0.8rem;
  font-weight:600;
}
.shop-card__controls-footer{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px 12px;
  border-radius:10px;
  border:1px dashed var(--line);
  background:rgba(255,255,255,0.02);
}
.shop-card__controls-dirty-hint,
.shop-card__controls-invalid-hint,
.shop-card__controls-country-lock-hint{
  margin:0;
  display:none;
}
.shop-card__controls-footer--country-locked .shop-card__controls-country-lock-hint{
  display:block;
  color:rgba(255,213,74,0.88);
  line-height:1.35;
  margin-bottom:6px;
}
.shop-card__controls-footer--dirty .shop-card__controls-dirty-hint{
  display:block;
  color:rgba(255,213,74,0.92);
  font-weight:600;
}
.shop-card__controls-footer--invalid .shop-card__controls-invalid-hint{
  display:block;
  color:#f87171;
  font-weight:600;
}
.shop-card__save-btn{
  width:100%;
  justify-content:center;
}
.shop-card.tenant-payment-saved{
  animation:tenantPaymentCardFlash 1s ease-out;
}
@keyframes tenantPaymentCardFlash{
  0%{box-shadow:inset 0 0 0 2px rgba(102,211,143,0.85), 0 0 0 1px rgba(102,211,143,0.35);}
  100%{box-shadow:none;}
}
.shop-card__field .tenant-payment-select{
  width:100%;
  max-width:280px;
}
.shop-card__field--policy .tenant-payment-policy{
  max-width:100%;
}
.shop-card__field--rate .rate-box{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.shop-card__field--country-locked .shop-card__locked-value{
  padding:8px 10px;
  border-radius:8px;
  background:rgba(255,213,74,0.08);
  border:1px dashed rgba(255,213,74,0.35);
  font-size:0.9rem;
  line-height:1.35;
  cursor:not-allowed;
  user-select:none;
}
.shop-card__field-lock-hint{
  margin:4px 0 0;
  line-height:1.35;
}
.shop-card__field--country-locked .shop-card__field-lock-hint i{
  margin-right:4px;
  opacity:0.75;
}
.shop-card__custom-domain-row{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  gap:8px;
}
.shop-card__custom-domain-row .tenant-custom-domain-input{
  flex:1 1 200px;
  min-width:0;
}
.shop-card__custom-domain-hint{
  margin:6px 0 0;
  line-height:1.35;
}
.brand-install-country-lock-hint{
  margin:4px 0 0;
  line-height:1.35;
}
.shop-card__more-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
}
.shop-list-empty{
  padding:20px;
  text-align:center;
  border-radius:8px;
  border:1px dashed var(--line);
}

/* Delete tenant confirmation modal */
.delete-confirm-warning{
  margin:0 0 12px 0;
  line-height:1.5;
  color:var(--text);
}
.delete-confirm-hint{
  margin:0 0 14px 0;
}
.delete-confirm-label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:0.9rem;
  font-weight:600;
}
.delete-confirm-input{
  padding:10px 12px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--ctrl-bg);
  color:var(--ctrl-text);
  font-size:0.95rem;
}
.delete-confirm-foot{
  align-items:center;
}
.delete-confirm-final-wrap{
  position:relative;
  display:inline-block;
}
.delete-confirm-final-hit{
  position:absolute;
  inset:0;
  z-index:2;
  border-radius:8px;
  cursor:not-allowed;
  background:transparent;
}
.delete-confirm-modal-card--shake{
  animation:deleteConfirmShake 0.45s ease;
}
@keyframes deleteConfirmShake{
  0%,100%{transform:translateX(0);}
  20%{transform:translateX(-8px);}
  40%{transform:translateX(8px);}
  60%{transform:translateX(-5px);}
  80%{transform:translateX(5px);}
}

/* --- Excalibur 4-step wizard + Identity Suite 3.0 --- */
.excalibur-wizard{
  margin:0 0 14px;
}
.excalibur-wizard__track{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap:4px;
  flex-wrap:wrap;
}
.excalibur-wizard__li{flex:1 1 120px;min-width:100px;}
.excalibur-wizard__li--spacer{
  flex:0 0 0;
  width:8px;
  min-width:8px;
  align-self:center;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,213,74,0.35), transparent);
}
.excalibur-wizard__step{
  width:100%;
  text-align:left;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.04);
  color:var(--ctrl-text);
  cursor:pointer;
  transition:box-shadow 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}
.excalibur-wizard__step:hover:not(:disabled){
  border-color:rgba(255,213,74,0.45);
  box-shadow:0 0 18px rgba(255,213,74,0.12);
}
.excalibur-wizard__step--active{
  border-color:rgba(255,213,74,0.65);
  box-shadow:0 0 22px rgba(255,213,74,0.2);
  background:rgba(255,213,74,0.08);
}
.excalibur-wizard__step--locked:disabled{
  opacity:0.45;
  cursor:not-allowed;
}
.excalibur-wizard__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.5rem;
  height:1.5rem;
  border-radius:999px;
  font-size:0.75rem;
  font-weight:800;
  margin-right:8px;
  background:rgba(255,213,74,0.2);
  color:var(--ctrl-text);
  vertical-align:middle;
}
.excalibur-wizard__label{
  display:block;
  font-weight:800;
  font-size:0.88rem;
  letter-spacing:0.04em;
}
.excalibur-wizard__hint{
  display:block;
  font-size:0.68rem;
  opacity:0.75;
  margin-top:2px;
  margin-left:2.1rem;
}
.glass-surface{
  background:rgba(255,255,255,0.06) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.12) !important;
  box-shadow:0 8px 32px rgba(0,0,0,0.25) !important;
}
.glass-surface--inset{
  background:rgba(0,0,0,0.15) !important;
  border-color:rgba(255,255,255,0.08) !important;
}
.excalibur-identity-header{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.excalibur-magic-wand-btn{
  white-space:nowrap;
}
.excalibur-magic-wand-btn:disabled{opacity:0.5;cursor:not-allowed;}
.excalibur-trinity-row{margin-bottom:12px;}
.excalibur-index-trio{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.excalibur-trio-pill{
  flex:1 1 120px;
  min-height:3.2rem;
  border-radius:12px;
  border:1px solid var(--line);
  padding:8px 10px;
  cursor:pointer;
  background:rgba(0,0,0,0.2);
  display:block;
  transition:border-color 0.2s ease, background 0.2s ease;
}
.excalibur-trio-pill input{position:absolute;opacity:0;pointer-events:none;}
.excalibur-trio-pill span{display:block;font-weight:800;font-size:0.86rem;}
.excalibur-trio-pill small{display:block;opacity:0.75;font-size:0.68rem;margin-top:2px;}
.excalibur-trio-pill:has(input:checked),
.excalibur-trio-pill--active{
  border-color:rgba(255,213,74,0.6);
  background:rgba(255,213,74,0.1);
  box-shadow:0 0 20px rgba(255,213,74,0.12);
}
.excalibur-field-with-badge .excalibur-field-guided,
.excalibur-subhead,
.excalibur-dnd-row{margin-top:0;}
.excalibur-field-guided{
  display:inline-block;
  margin-left:6px;
  padding:1px 6px;
  font-size:0.6rem;
  font-weight:800;
  letter-spacing:0.06em;
  text-transform:uppercase;
  border-radius:4px;
  background:linear-gradient(135deg, #7ad7ff 0%, #4aa8ff 100%);
  color:#0a0e14;
  vertical-align:middle;
}
.excalibur-field-guided.hidden{display:none !important;}
.excalibur-subhead{margin:16px 0 8px;font-size:0.9rem;}
.excalibur-social-grid{display:grid;grid-template-columns:1fr;gap:8px;}
@media (min-width:700px){
  .excalibur-social-grid{grid-template-columns:1fr 1fr 1fr;}
}
.excalibur-dnd-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:12px 0;
}
.excalibur-dnd-zone{
  border:2px dashed rgba(255,255,255,0.2);
  border-radius:12px;
  padding:14px 10px;
  text-align:center;
  cursor:pointer;
  min-height:120px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  background:rgba(0,0,0,0.12);
  transition:border-color 0.2s ease, background 0.2s ease;
}
.excalibur-dnd-zone i{font-size:1.4rem;opacity:0.85;}
.excalibur-dnd-zone small{font-size:0.68rem;opacity:0.7;}
.excalibur-dnd-input{display:none !important;}
.excalibur-dnd-zone--drag{border-color:rgba(255,213,74,0.6);background:rgba(255,213,74,0.08);}
.brand-storefront-preview-frame{
  width:100%;
  min-height:220px;
  height:36vh;
  max-height:420px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#111;
}
/* Numeric storefront layouts (legacy savage/organic/elegant class names kept as aliases) */
.brand-mini-preview--design_1,
.brand-mini-preview--organic{
  --brand-preview-surface: rgba(255,255,255,0.9);
  background:linear-gradient(180deg, #f8fbff 0%, #eef4ee 100%);
  border:1px solid rgba(0,209,255,0.45);
  box-shadow:0 0 0 1px rgba(0,209,255,0.12), 0 8px 28px rgba(0,0,0,0.12);
}
.brand-mini-preview--design_2,
.brand-mini-preview--savage{
  --brand-preview-surface: rgba(10,6,20,0.95);
  background:linear-gradient(145deg, #1a0a1f 0%, #0a0510 100%);
  border:1px solid rgba(0,255,200,0.3);
  box-shadow:0 0 20px rgba(0,255,200,0.15);
}
.brand-mini-preview--design_3,
.brand-mini-preview--elegant{
  --brand-preview-surface: rgba(32,20,20,0.95);
  background:linear-gradient(180deg, #2a1018 0%, #1a0a0e 100%);
  border:1px solid rgba(200,150,80,0.4);
  font-family:"Playfair Display", Georgia, serif;
}
/* Mini preview theming: inner surfaces */
.brand-mini-preview.brand-mini-preview--design_1 .brand-preview-main,
.brand-mini-preview.brand-mini-preview--design_1 .brand-preview-sidebar,
.brand-mini-preview.brand-mini-preview--organic .brand-preview-main,
.brand-mini-preview.brand-mini-preview--organic .brand-preview-sidebar{
  background:var(--brand-preview-surface, #f6faf6);
  color:#1a1f1a;
}
.brand-mini-preview.brand-mini-preview--design_2 .brand-preview-main,
.brand-mini-preview.brand-mini-preview--design_2 .brand-preview-sidebar,
.brand-mini-preview.brand-mini-preview--savage .brand-preview-main,
.brand-mini-preview.brand-mini-preview--savage .brand-preview-sidebar{
  background:var(--brand-preview-surface, #120818);
  color:#e8f7ff;
}
.brand-mini-preview.brand-mini-preview--design_3 .brand-preview-main,
.brand-mini-preview.brand-mini-preview--design_3 .brand-preview-sidebar,
.brand-mini-preview.brand-mini-preview--elegant .brand-preview-main,
.brand-mini-preview.brand-mini-preview--elegant .brand-preview-sidebar{
  background:var(--brand-preview-surface, #241018);
  color:#f5ebe0;
}
.excalibur-launch-url{
  font-size:0.85rem;
  font-family:ui-monospace,Consolas,monospace;
  padding:8px 10px;
  border-radius:8px;
  border:1px solid var(--line);
  background:var(--ctrl-bg);
  color:var(--ctrl-text);
}

/* Sovereign toast — Holy Simi Gun premium archetype feedback */
.admin-toast.admin-toast--sovereign{
  background:linear-gradient(135deg, rgba(0,209,255,0.2) 0%, rgba(10,20,32,0.95) 45%, #0a0f18 100%);
  border:1px solid rgba(0,209,255,0.45);
  color:#e8f9ff;
  font-weight:800;
  letter-spacing:0.02em;
  box-shadow:0 12px 40px rgba(0,209,255,0.15), 0 8px 28px rgba(0,0,0,.5);
  padding:14px 20px;
}
.admin-toast.admin-toast--sovereign.admin-toast--warn{
  background:linear-gradient(135deg, rgba(255,100,80,0.2) 0%, rgba(32,10,8,0.95) 50%, #180a0a 100%);
  border-color:rgba(255,150,120,0.4);
  color:#ffe8e4;
}

/* Holy Simi Gun — one-click archetype cards (excluded from other admin UIs) */
.holy-simi-gun-body .holy-archetype-block{ margin-bottom:16px; }
.holy-simi-gun-body .holy-archetype-switcher{
  --holy-pulse:#00D1FF;
  --holy-user-primary:#ffcc00;
  border-radius:16px;
  padding:14px 14px 16px;
  background:rgba(8,12,20,0.45);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 8px 32px rgba(0,0,0,0.25);
  transition:box-shadow 0.35s ease, border-color 0.25s ease;
}
.holy-simi-gun-body .holy-archetype-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 16px;
  margin-bottom:6px;
}
.holy-simi-gun-body .holy-archetype-eyebrow{
  display:block;
  font-size:0.58rem;
  font-weight:900;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:rgba(0,209,255,0.9);
  margin-bottom:2px;
}
.holy-simi-gun-body .holy-archetype-title{
  display:block;
  font-size:0.95rem;
  font-weight:800;
  color:var(--ctrl-text, #e8eaed);
}
.holy-simi-gun-body .holy-archetype-hint{
  margin:0 0 12px 0;
  opacity:0.75;
  max-width:48rem;
  line-height:1.4;
}
.holy-simi-gun-body .holy-design-lock{
  display:inline-flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  user-select:none;
  font-size:0.78rem;
  font-weight:800;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.8);
}
.holy-simi-gun-body .holy-design-lock input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  pointer-events:none;
}
.holy-simi-gun-body .holy-design-lock__track{
  position:relative;
  width:40px;
  height:22px;
  border-radius:999px;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.2);
  transition:background 0.25s ease, box-shadow 0.25s ease;
}
.holy-simi-gun-body .holy-design-lock__track::after{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,0.4);
  transition:transform 0.22s ease, background 0.2s ease;
}
.holy-simi-gun-body .holy-design-lock input:checked + .holy-design-lock__track{
  background:rgba(0,209,255,0.18);
  border-color:rgba(0,209,255,0.55);
  box-shadow:0 0 12px rgba(0,209,255,0.2);
}
.holy-simi-gun-body .holy-design-lock input:checked + .holy-design-lock__track::after{
  transform:translateX(18px);
  background:var(--holy-pulse);
}
.holy-simi-gun-body .holy-archetype-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
}
.holy-simi-gun-body .holy-archetype-grid--single{
  grid-template-columns:1fr;
  max-width:420px;
}
@media (max-width:720px){
  .holy-simi-gun-body .holy-archetype-grid{
    grid-template-columns:1fr;
  }
}
.holy-simi-gun-body .holy-archetype-card{
  position:relative;
  display:block;
  margin:0;
  cursor:pointer;
  border-radius:14px;
  transition:transform 0.25s ease, box-shadow 0.35s ease, border-color 0.25s ease;
}
.holy-simi-gun-body .holy-archetype-card input[type="radio"]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  left:8px;
  top:8px;
}
.holy-simi-gun-body .holy-archetype-card__inner{
  position:relative;
  min-height:118px;
  padding:12px 12px 14px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.1);
  background:rgba(0,0,0,0.2);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:4px;
  transition:border-color 0.3s ease, box-shadow 0.4s ease, background 0.3s ease, transform 0.25s ease;
  overflow:hidden;
}
.holy-simi-gun-body .holy-archetype-card__ring{
  position:absolute;
  inset:0;
  border-radius:14px;
  pointer-events:none;
  border:2px solid transparent;
  transition:border-color 0.3s ease, box-shadow 0.4s ease;
}
.holy-simi-gun-body .holy-archetype-card--active .holy-archetype-card__ring,
.holy-simi-gun-body .holy-archetype-card:has(input:checked) .holy-archetype-card__ring{
  border-color:var(--holy-pulse);
  box-shadow:0 0 0 1px rgba(0,209,255,0.4), 0 0 28px color-mix(in srgb, var(--holy-user-primary) 35%, transparent);
}
.holy-simi-gun-body .holy-archetype-card--active .holy-archetype-card__inner,
.holy-simi-gun-body .holy-archetype-card:has(input:checked) .holy-archetype-card__inner{
  box-shadow:0 0 36px color-mix(in srgb, var(--holy-user-primary) 38%, transparent), inset 0 1px 0 rgba(255,255,255,0.06);
  border-color:rgba(0,209,255,0.25);
  background:rgba(0,20,32,0.35);
}
.holy-simi-gun-body .holy-archetype-card:hover .holy-archetype-card__inner{
  transform:translateY(-1px);
  border-color:rgba(0,209,255,0.2);
}
.holy-simi-gun-body .holy-archetype-card__hint{
  width:2.1rem;
  height:2.1rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0.88rem;
  font-weight:800;
  line-height:1;
  border-radius:8px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.1);
  margin-bottom:2px;
}
.holy-simi-gun-body .holy-archetype-card__hint--savage{
  font-family:"Oswald", system-ui, sans-serif;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:#7fffd4;
}
.holy-simi-gun-body .holy-archetype-card__hint--organic{
  font-family:"Poppins", "Montserrat", system-ui, sans-serif;
  color:#6ee7b7;
  font-weight:700;
  font-size:0.8rem;
}
.holy-simi-gun-body .holy-archetype-card__hint--elegant{
  font-family:"Playfair Display", Georgia, "Times New Roman", serif;
  font-style:italic;
  font-size:0.95rem;
  color:#f5e0c8;
}
.holy-simi-gun-body .holy-archetype-card__name{
  font-size:0.72rem;
  font-weight:900;
  letter-spacing:0.1em;
  color:#f0f4ff;
}
.holy-simi-gun-body .holy-archetype-card__sub{
  font-size:0.65rem;
  line-height:1.3;
  opacity:0.72;
  font-weight:600;
}
/* Shared Pulse Blue premium glow — Design 1 (default) + Express Setup */
.holy-simi-gun-body .pulse-blue-premium-glow{
  border:2px solid rgba(0,209,255,0.85) !important;
  box-shadow:
    0 0 0 1px rgba(0,209,255,0.25),
    0 0 24px rgba(0,209,255,0.22),
    0 8px 32px rgba(0,0,0,0.35) !important;
}
.holy-simi-gun-body .excalibur-express-setup.pulse-blue-premium-glow,
.holy-simi-gun-body .excalibur-express-setup{
  border:2px solid rgba(0,209,255,0.85);
  box-shadow:
    0 0 0 1px rgba(0,209,255,0.25),
    0 0 24px rgba(0,209,255,0.22),
    0 8px 28px rgba(0,0,0,0.4);
  background:linear-gradient(145deg, rgba(0,209,255,0.12) 0%, rgba(12,18,28,0.95) 55%, #0a1018 100%);
  color:#e8fbff;
}
.holy-simi-gun-body .excalibur-express-setup:hover{
  filter:brightness(1.06);
  box-shadow:
    0 0 0 1px rgba(0,209,255,0.35),
    0 0 32px rgba(0,209,255,0.28),
    0 10px 36px rgba(0,0,0,0.45);
}
.holy-simi-gun-body .holy-archetype-switcher--locked .holy-archetype-grid{
  pointer-events:none;
  opacity:0.72;
  filter:grayscale(0.15);
}
.holy-simi-gun-body .holy-archetype-switcher--locked .holy-archetype-card{ cursor:not-allowed; }
.holy-simi-gun-body .holy-archetype-switcher--locked .holy-design-lock{ pointer-events:auto; }

/* ========== Admin Dashboard — native-app mobile polish (≤768px) ========== */
@media (max-width: 768px) {
  .admin-shell {
    padding: 8px 14px 20px;
  }

  /* —— Smart header (compact bar + collapsible profile) —— */
  .admin-top {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    padding: 8px 12px 6px;
  }
  .admin-top-lead {
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 10px;
  }
  .admin-top-brand {
    display: block;
    max-width: 100%;
    padding-bottom: 0;
    flex: 1 1 auto;
    min-width: 0;
  }
  .admin-brand-shop-name {
    max-width: 100%;
    font-size: 1.26rem;
  }
  .top-actions {
    width: 100%;
    max-width: none;
    overflow: visible;
  }
  .admin-header-toolbar {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
  }
  .admin-header-primary {
    flex: 0 0 auto;
    min-width: 0;
    margin-right: 0;
    flex-wrap: wrap;
  }
  .admin-header-primary > .store-delivery-mode-btn {
    font-size: 0.68rem;
    padding: 6px 10px !important;
    min-height: 36px;
  }
  .admin-user {
    max-width: min(180px, 42vw);
    font-size: 0.75rem;
  }
  .admin-header-utilities {
    flex: 1 1 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 2px;
  }
  .header-shop-name {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    overflow-wrap: anywhere;
    word-break: break-word;
    font-size: 0.95rem;
    line-height: 1.25;
    padding: 0;
  }
  .store-open-toggle {
    flex: 0 0 auto;
    text-align: center;
    padding: 8px 10px;
    font-size: 0.72rem;
    white-space: nowrap;
    line-height: 1.15;
  }
  .header-wallet-compact {
    padding: 0 10px;
  }

  /* —— Main nav tabs: uniform 2-column grid —— */
  .tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 4px 0 10px;
  }
  .tab {
    width: 100%;
    margin: 0;
    padding: 12px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    line-height: 1.2;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
    min-height: 48px;
    box-sizing: border-box;
  }
  .tab i {
    font-size: 0.9rem;
    flex-shrink: 0;
  }

  /* —— Panels & settings cards —— */
  .panel {
    padding: 16px;
    border-radius: 14px;
  }
  .panel-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .panel-head h2 {
    font-size: 1rem;
  }
  .panel-actions {
    width: 100%;
  }
  .panel-actions .btn {
    flex: 1 1 auto;
    min-width: 0;
  }
  #activationGate .panel-actions .activation-pay-btn {
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
  #activationGate .activation-pay-btn__amount {
    display: inline;
  }
  .card {
    padding: 16px;
    border-radius: 14px;
  }
  .settings-tab-intro {
    font-size: 0.76rem;
    line-height: 1.5;
    margin: 12px 0 16px;
  }
  .settings-accordion {
    margin-bottom: 12px;
    border-radius: 12px;
  }
  .settings-accordion-summary {
    padding: 13px 14px;
  }
  .settings-accordion-heading {
    font-size: 0.92rem;
  }
  .settings-accordion-body {
    padding: 0 14px 14px;
  }
  .settings-accordion--nested .settings-accordion-summary {
    padding: 10px 12px;
  }
  .settings-accordion--nested .settings-accordion-heading {
    font-size: 0.86rem;
  }
  .settings-accordion--nested .settings-accordion-body {
    padding: 0 12px 12px;
  }
  .settings-accordion-hint,
  .settings-field-hint,
  .settings-tab-savebar-hint,
  .smart-delivery-map-hint,
  .card-fee-strategy-hint,
  .settings-payment-card .muted.tiny,
  .settings-delivery-card .muted.tiny,
  .settings-distance-card .muted.tiny {
    font-size: 0.72rem !important;
    line-height: 1.4;
  }
  .muted.tiny {
    font-size: 0.72rem;
    line-height: 1.4;
  }
  label.settings-field span {
    font-size: 0.8rem;
  }
  .settings-delivery-group,
  .settings-delivery-card,
  .settings-payment-card,
  .settings-distance-card {
    max-width: none;
  }
  .settings-tab-layout {
    gap: 16px;
  }

  /* —— Sticky save footer (fixed bottom sheet) —— */
  #settingsTab {
    padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
  }
  .settings-tab-savebar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 80;
    margin: 0;
    max-width: none;
    border-radius: 16px 16px 0 0;
    border: none;
    border-top: 1px solid rgba(255, 204, 0, 0.28);
    padding: 12px 14px calc(12px + env(safe-area-inset-bottom, 0px));
    background: rgba(12, 13, 16, 0.98);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 -10px 32px rgba(0, 0, 0, 0.55);
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .settings-tab-savebar-hint {
    flex: none;
    max-width: none;
    margin: 0;
    font-size: 0.7rem;
    line-height: 1.35;
    opacity: 0.88;
  }
  .settings-tab-savebar-actions {
    flex: none;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .settings-tab-savebar-msg {
    flex: none;
    max-width: none;
    width: 100%;
    font-size: 0.78rem;
  }
  .settings-tab-savebar-cta {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: 0;
    gap: 8px;
  }
  .settings-unsaved-apply-hint {
    white-space: normal;
    text-align: center;
    font-size: 0.8rem;
  }
  .settings-tab-savebar .shop-settings-save-btn {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    border-radius: 12px;
    font-size: 0.92rem;
  }

  /* Orders / wallet quick polish */
  .wallet-balance-value {
    font-size: 1.28rem;
  }
  .order-card {
    border-radius: 12px;
  }
}


/* ---------- Privacy Mode (Staff Mode) ---------- */
.privacy-mode-banner{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:140;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 14px;
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.02em;
  color:#ffe8a3;
  background:linear-gradient(90deg, rgba(120,80,0,0.95), rgba(80,50,0,0.92));
  border-bottom:1px solid rgba(255,213,74,0.35);
  box-shadow:0 4px 18px rgba(0,0,0,0.35);
}
body.privacy-mode-on{padding-top:42px}
body.privacy-mode-on.admin-view-mode-on{padding-top:84px}
.privacy-mode-toggle{
  cursor:pointer;
  user-select:none;
}
.privacy-mode-hidden-control{
  display:none !important;
}
.privacy-pin-modal{z-index:260}
.privacy-pin-setup{
  text-align:left;
  padding-top:2px;
}
.privacy-pin-setup__hero{
  display:flex;
  justify-content:center;
  margin:0 0 14px;
}
.privacy-pin-setup__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:16px;
  background:linear-gradient(145deg, rgba(255,213,74,0.16), rgba(255,213,74,0.05));
  border:1px solid rgba(255,213,74,0.22);
  color:#ffd86a;
  font-size:1.35rem;
  box-shadow:0 8px 24px rgba(0,0,0,0.22);
}
.privacy-pin-setup__lead{
  margin:0 0 6px;
  font-size:0.95rem;
  font-weight:700;
  line-height:1.4;
  color:rgba(242,244,248,0.96);
  text-align:center;
}
.privacy-pin-setup__sub{
  margin:0 0 12px;
  line-height:1.45;
  text-align:center;
}
.privacy-pin-setup__remember{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin:0 0 16px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,213,74,0.22);
  background:rgba(255,213,74,0.07);
  font-size:0.78rem;
  line-height:1.45;
  color:rgba(255,235,190,0.92);
  text-align:left;
}
.privacy-pin-setup__remember i{
  flex-shrink:0;
  margin-top:2px;
  color:#ffd86a;
  font-size:0.85rem;
}
.privacy-pin-setup__fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:14px;
}
.privacy-pin-setup__field{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}
.privacy-pin-setup__field span{
  font-size:0.76rem;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:rgba(242,244,248,0.62);
}
.privacy-pin-setup__input{
  width:100%;
  box-sizing:border-box;
  height:48px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.12);
  background:rgba(0,0,0,0.28);
  color:#fff;
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:0.45em;
  text-align:center;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.privacy-pin-setup__input::placeholder{
  color:rgba(255,255,255,0.22);
  letter-spacing:0.35em;
  font-weight:600;
}
.privacy-pin-setup__input:focus{
  outline:none;
  border-color:rgba(255,213,74,0.55);
  background:rgba(0,0,0,0.38);
  box-shadow:0 0 0 3px rgba(255,213,74,0.1);
}
.privacy-pin-setup__input.is-error{
  border-color:rgba(248,113,113,0.75);
  box-shadow:0 0 0 3px rgba(248,113,113,0.12);
}
.privacy-pin-setup__error{
  margin:0 0 12px;
  text-align:center;
}
.privacy-pin-setup__submit{
  width:100%;
  min-height:44px;
  border-radius:12px;
  font-weight:800;
}
.privacy-pin-modal__card:has(.privacy-pin-setup:not(.hidden)){
  max-width:400px;
}
@media (max-width:420px){
  .privacy-pin-setup__fields{
    grid-template-columns:1fr;
  }
}
.privacy-pin-modal__card{
  max-width:420px;
  width:calc(100% - 24px);
  margin:0 auto;
  padding:18px 18px 20px;
  border-radius:16px;
}
.privacy-pin-step{
  text-align:center;
}
.privacy-pin-modal__head{
  margin-bottom:12px;
  align-items:center;
}
.privacy-pin-modal__head h2{
  margin:0;
  font-size:1.05rem;
}
.privacy-pin-modal__hint{
  text-align:center;
  line-height:1.45;
  max-width:320px;
  margin:0 auto 4px;
}
.privacy-pin-field{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:14px 0 8px;
  align-items:center;
}
.privacy-pin-field span{
  font-size:0.82rem;
  font-weight:700;
  color:var(--muted);
}
.privacy-pin-field--dots{
  margin-bottom:4px;
}
.privacy-pin-entry{
  position:relative;
  width:100%;
  max-width:280px;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,213,74,0.42);
  border-radius:14px;
  background:rgba(0,0,0,0.32);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.privacy-pin-entry.is-focused,
.privacy-pin-entry:focus-within{
  border-color:rgba(255,213,74,0.78);
  box-shadow:0 0 0 3px rgba(255,213,74,0.12);
  background:rgba(0,0,0,0.42);
}
.privacy-pin-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  padding:18px 24px;
  pointer-events:none;
  width:100%;
}
.privacy-pin-dot{
  width:14px;
  height:14px;
  border-radius:50%;
  border:2px solid rgba(255,213,74,0.45);
  background:transparent;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.privacy-pin-dot.is-filled{
  background:#ffd54a;
  border-color:#ffd54a;
  transform:scale(1.08);
  box-shadow:0 0 10px rgba(255,213,74,0.35);
}
.privacy-pin-dot.is-active{
  border-color:rgba(255,213,74,0.95);
  box-shadow:0 0 0 2px rgba(255,213,74,0.2);
}
.privacy-pin-dots.is-busy .privacy-pin-dot.is-filled{
  animation:privacyPinPulse 0.9s ease-in-out infinite;
}
.privacy-pin-dots.is-error .privacy-pin-dot{
  border-color:#f87171;
  background:transparent;
}
.privacy-pin-dots.is-error .privacy-pin-dot.is-filled{
  background:#f87171;
  border-color:#f87171;
}
.privacy-pin-dots--shake{
  animation:privacyPinShake 0.42s ease;
}
@keyframes privacyPinShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-8px)}
  40%{transform:translateX(8px)}
  60%{transform:translateX(-6px)}
  80%{transform:translateX(6px)}
}
@keyframes privacyPinPulse{
  0%,100%{opacity:1}
  50%{opacity:0.45}
}
.privacy-pin-input{
  font-size:1.35rem;
  letter-spacing:0.35em;
  text-align:center;
  padding:12px 14px;
  min-height:52px;
  border-radius:12px;
}
.privacy-pin-input--overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:transparent;
  caret-color:transparent;
  opacity:0;
  min-height:0;
  letter-spacing:0;
  font-size:16px;
  cursor:text;
}
.privacy-pin-modal__error{
  min-height:1.25rem;
  margin:6px auto 0;
  text-align:center;
}
.privacy-pin-modal__actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:8px;
}
.privacy-pin-step--auto .privacy-pin-modal__actions{
  margin:0;
  min-height:0;
  height:0;
  overflow:hidden;
}
.privacy-pin-step--auto .privacy-pin-submit-btn{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.privacy-pin-submit-btn{
  min-height:48px;
  font-size:1rem;
  font-weight:800;
}
.sr-only-focusable{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.sr-only-focusable:focus{
  position:static;
  width:auto;
  height:auto;
  margin:8px auto 0;
  clip:auto;
  overflow:visible;
}
.privacy-pin-forgot-btn{
  margin-top:14px;
  width:100%;
  justify-content:center;
}

.settings-privacy-pin-card .settings-accordion-body{
  padding-bottom:14px;
}
.settings-privacy-pin-card .settings-accordion-hint{
  margin-bottom:10px;
  font-size:0.78rem;
  line-height:1.4;
}
.settings-privacy-pin-card .manager-pin-status{
  margin:0 0 10px;
  font-size:0.78rem;
}
.manager-pin-fields{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.manager-pin-fields-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
}
.settings-privacy-pin-card .manager-pin-field{
  margin:0;
}
.settings-privacy-pin-card .manager-pin-field span{
  font-size:0.78rem;
  font-weight:700;
}
.settings-privacy-pin-card .manager-pin-field input{
  min-height:40px;
  padding:8px 10px;
  font-size:1rem;
  letter-spacing:0.28em;
  text-align:center;
}
.manager-pin-actions{
  margin-top:10px;
}
.manager-pin-actions .btn{
  width:100%;
}
.manager-pin-msg{
  margin-top:8px;
  min-height:0;
  font-size:0.82rem;
}
@media (max-width:480px){
  .manager-pin-fields-row{
    grid-template-columns:1fr;
  }
}
.manager-pin-status--ok{color:#6ee7b7}
.manager-pin-status--warn{color:#fcd34d}
body.privacy-mode-on #productsTab .grandma-actions,
body.privacy-mode-on #productsTab .menu-editor-wrap,
body.privacy-mode-on #productsTab .products-editor-toolbar,
body.privacy-mode-on #productsTab .archive-section,
body.privacy-mode-on #productsTab .products-blocks-header,
body.privacy-mode-on #productsTab .product-img-cell,
body.privacy-mode-on #productsTab .product-actions-cell,
body.privacy-mode-on #productsTab .product-drag-handle,
body.privacy-mode-on #productsTab .product-camera-btn,
body.privacy-mode-on #productsTab .product-delete-img-btn,
body.privacy-mode-on #productsTab .product-options-btn,
body.privacy-mode-on #productsTab .product-delete-btn,
body.privacy-mode-on #productsTab .product-draft-badge,
body.privacy-mode-on #productsTab .category-drag-handle,
body.privacy-mode-on #productsTab .category-rename-btn,
body.privacy-mode-on #productsTab .category-archive-btn,
body.privacy-mode-on #productsTab .category-controls{
  display:none !important;
}
body.privacy-mode-on #productsTab .products-privacy-intro{
  display:block;
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(255,213,74,0.28);
  background:rgba(255,213,74,0.08);
}
body.privacy-mode-on #productsTab .products-privacy-intro p{
  margin:0;
  line-height:1.45;
}
body.privacy-mode-on #productsTab .products-blocks-wrap{
  margin-top:8px !important;
}
body.privacy-mode-on #productsTab .category-header{
  cursor:default;
  pointer-events:none;
  padding:10px 14px;
}
body.privacy-mode-on #productsTab .category-title-wrap{
  pointer-events:none;
}
body.privacy-mode-on #productsTab .category-block{
  transform:none !important;
}
body.privacy-mode-on #productsTab .product-card-minimal{
  grid-template-columns:1fr auto;
  grid-template-areas:"title avail";
  gap:12px 16px;
  padding:10px 14px;
}
body.privacy-mode-on #productsTab .product-card-minimal .product-card-cell:nth-child(1),
body.privacy-mode-on #productsTab .product-card-minimal .product-card-cell:nth-child(3),
body.privacy-mode-on #productsTab .product-card-minimal .product-card-cell:nth-child(4),
body.privacy-mode-on #productsTab .product-card-minimal .product-card-cell:nth-child(6){
  display:none !important;
}
body.privacy-mode-on #productsTab .product-card-minimal .product-card-cell:nth-child(2){
  grid-area:title;
}
body.privacy-mode-on #productsTab .product-card-minimal .product-card-cell:nth-child(5){
  grid-area:avail;
  justify-self:end;
}
body.privacy-mode-on #productsTab .product-input{
  pointer-events:none;
  border:none;
  background:transparent;
  padding:0;
  font-weight:700;
  font-size:0.95rem;
  opacity:1;
  color:var(--text,#f4f4f4);
  box-shadow:none;
}
body.privacy-mode-on #productsTab .product-input[data-field="description"],
body.privacy-mode-on #productsTab .product-input[data-field="price"]{
  display:none !important;
}
body.privacy-mode-on #productsTab .soldout-toggle{
  transform:scale(1.05);
  pointer-events:auto !important;
  cursor:pointer !important;
}
body.privacy-mode-on #productsTab .soldout-toggle,
body.privacy-mode-on #productsTab .soldout-toggle *,
body.privacy-mode-on #productsTab .soldout-toggle input{
  pointer-events:auto !important;
  cursor:pointer !important;
}
body.privacy-mode-on #productsTab .soldout-toggle input{
  min-width:22px;
  min-height:22px;
}
body.privacy-mode-on #productsTab .category-block{
  transform:none !important;
}
body.privacy-mode-on #productsTab .product-input{
  pointer-events:none;
  opacity:0.45;
  border-color:transparent;
  background:transparent;
}
body.privacy-mode-on #productsTab .product-card-cell:not(:has(.soldout-toggle)){
  opacity:0.35;
}
body.privacy-mode-on #productsTab .soldout-toggle{
  transform:scale(1.08);
}
body.privacy-mode-on #productsTab .soldout-toggle input{
  min-width:22px;
  min-height:22px;
}
/* Marketing QR Code modal (Settings → Branding) */
.shop-qr-marketing-field{
  margin-top:4px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.shop-qr-open-btn{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.shop-qr-open-hint{
  margin:6px 0 0;
  line-height:1.45;
  max-width:36rem;
}
.shop-qr-open-hint--warn{
  color:#fecaca;
}
.shop-qr-modal-card{
  width:min(420px, 96vw);
}
.shop-qr-modal__hint{
  margin:0 0 12px;
  line-height:1.45;
}
.shop-qr-url-warning{
  margin:0 0 12px;
  padding:8px 10px;
  font-size:0.78rem;
  line-height:1.45;
  border-radius:8px;
  border:1px solid rgba(239,68,68,0.45);
  background:rgba(239,68,68,0.1);
  color:#fecaca;
}
.shop-qr-url-warning.hidden{
  display:none !important;
}
.shop-qr-reprint-hint{
  margin:0 0 12px;
  padding:8px 10px;
  line-height:1.45;
  border-radius:8px;
  border:1px solid rgba(34,197,94,0.35);
  background:rgba(34,197,94,0.08);
  color:#bbf7d0;
}
.shop-qr-reprint-hint.hidden{
  display:none !important;
}
.shop-qr-canvas-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:300px;
  padding:12px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
}
.shop-qr-canvas-wrap canvas,
.shop-qr-canvas-wrap svg{
  display:block;
  max-width:100%;
  height:auto;
}
.shop-qr-loading{
  margin:0;
  text-align:center;
}
.shop-qr-url{
  margin:10px 0 0;
  text-align:center;
  word-break:break-all;
  line-height:1.4;
}
.shop-qr-modal__actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:14px;
}
.shop-qr-rotate-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
