/* =====================================================================
   iOS 27 look (Liquid Glass) — admin panel
   Loaded after admin.css. Follows the phone/computer light or dark mode.
   Fashion Bug pink stays the accent colour.
   ===================================================================== */
:root{
  --accent:#d81b72; --accent-2:#ff5c9d; --accent-ink:#fff; --accent-soft:rgba(216,27,114,.12);
  --bg:#f2f2f7; --label:#1c1c1e; --label-2:rgba(60,60,67,.62); --label-3:rgba(60,60,67,.38);
  --sep:rgba(60,60,67,.14); --fill:rgba(118,118,128,.12); --fill-2:rgba(118,118,128,.20);
  --glass:rgba(255,255,255,.62); --glass-strong:rgba(255,255,255,.80); --glass-edge:rgba(255,255,255,.75);
  --glass-hi:inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(255,255,255,.25);
  --glass-shadow:0 1px 1px rgba(0,0,0,.03), 0 10px 30px rgba(31,16,40,.08);
  --blur:saturate(180%) blur(28px);
  --green:#34c759; --red:#ff3b30; --orange:#ff9500; --blue:#007aff;
  --sys:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue","Inter","Segoe UI",Roboto,system-ui,sans-serif;
  /* re-map the old theme variables */
  --plum:var(--label); --plum-2:var(--label-2); --berry:var(--accent); --berry-2:var(--accent-2);
  --blush:var(--accent-soft); --blush-2:rgba(216,27,114,.2); --cream:var(--bg); --ink:var(--label); --muted:var(--label-2);
  --line:var(--sep); --card:var(--glass); --gold:var(--accent); --ok:var(--green); --err:var(--red); --warn:var(--orange);
  --radius:22px; --shadow:var(--glass-shadow); --serif:var(--sys); --sans:var(--sys);
}
@media (prefers-color-scheme:dark){
  :root{
    --accent:#ff4f93; --accent-2:#ff8ab6; --accent-ink:#fff; --accent-soft:rgba(255,79,147,.16);
    --bg:#000; --label:#fff; --label-2:rgba(235,235,245,.62); --label-3:rgba(235,235,245,.32);
    --sep:rgba(84,84,88,.55); --fill:rgba(118,118,128,.24); --fill-2:rgba(118,118,128,.34);
    --glass:rgba(36,36,40,.55); --glass-strong:rgba(44,44,48,.78); --glass-edge:rgba(255,255,255,.12);
    --glass-hi:inset 0 1px 0 rgba(255,255,255,.14), inset 0 -1px 0 rgba(255,255,255,.04);
    --glass-shadow:0 1px 1px rgba(0,0,0,.4), 0 14px 36px rgba(0,0,0,.45);
    --blush-2:rgba(255,79,147,.26);
  }
}
html{color-scheme:light dark}
body{font-family:var(--sys);color:var(--label);font-size:15px;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;
  background:var(--bg);
  background-image:radial-gradient(1200px 700px at 8% -10%,rgba(255,92,157,.20),transparent 60%),
                   radial-gradient(900px 600px at 105% 10%,rgba(255,176,120,.16),transparent 60%),
                   radial-gradient(900px 700px at 50% 115%,rgba(150,110,255,.12),transparent 60%);
  background-attachment:fixed}
@media (prefers-color-scheme:dark){
  body{background-image:radial-gradient(1200px 700px at 8% -10%,rgba(255,79,147,.22),transparent 60%),
                        radial-gradient(900px 600px at 105% 10%,rgba(255,150,90,.10),transparent 60%),
                        radial-gradient(900px 700px at 50% 115%,rgba(120,90,255,.14),transparent 60%)}
}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--sys);color:var(--label);letter-spacing:-.022em;font-weight:700}
h1{font-size:32px;line-height:1.1} h2{font-size:21px} h3{font-size:17px;font-weight:600}
code{background:var(--fill);color:var(--label)}
.muted,.hint{color:var(--label-2)}

/* ---------- glass surface (shared) ---------- */
.card,.kpi,.pcard,.qr-card,.auth-card,.sidebar,.checks,.dropzone{
  background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);
  border:1px solid var(--glass-edge);box-shadow:var(--glass-hi),var(--glass-shadow)}
.card{border-radius:26px;padding:22px}
.card-head h2,.card-head h3,.card h3{font-family:var(--sys)}

/* ---------- sidebar: floating glass panel ---------- */
.layout{gap:0}
.sidebar{width:260px;margin:12px 0 12px 12px;height:calc(100vh - 24px);top:12px;border-radius:30px;color:var(--label);padding:18px 12px}
.sidebar .brand-sub{color:var(--label-2);font-family:var(--sys);font-style:normal;font-weight:500;letter-spacing:-.01em}
.nav a{color:var(--label);border-radius:14px;font-weight:500;font-size:15px}
.nav a svg{color:var(--accent)}
.nav a:hover{background:var(--fill);color:var(--label)}
.nav a.active{background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 18px rgba(216,27,114,.28)}
.nav a.active svg{color:#fff}
.nav .sep{color:var(--label-3);font-weight:600;letter-spacing:.06em;font-size:11px}
.sidebar .me{border-top:1px solid var(--sep);color:var(--label-2)}
.sidebar .me strong{color:var(--label)}
.sidebar .nav{scrollbar-color:var(--fill-2) transparent}
.sidebar .nav::-webkit-scrollbar-thumb{background:var(--fill-2)}
/* segmented control (Try-On | Promotions) */
.area-switch{background:var(--fill);border:0;border-radius:12px;padding:3px}
.area-switch a{color:var(--label);border-radius:10px;font-weight:600}
.area-switch a:hover{background:transparent;color:var(--label)}
.area-switch a.on{background:var(--glass-strong);color:var(--label);box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04)}
@media (prefers-color-scheme:dark){.area-switch a.on{background:#636366;color:#fff}}

/* ---------- top bar ---------- */
.main{padding:28px 32px 60px}
.topbar h1{font-size:34px;letter-spacing:-.025em}
.menu-btn{color:var(--accent)}

/* ---------- KPI tiles ---------- */
.kpi{border-radius:24px;padding:18px 20px}
.kpi::after{display:none}
.kpi .label{color:var(--label-2);text-transform:none;letter-spacing:-.01em;font-size:13px;font-weight:500}
.kpi .value{font-family:var(--sys);color:var(--label);font-size:34px;letter-spacing:-.03em;font-weight:700}
.kpi .sub{color:var(--label-2)}

/* ---------- forms (iOS filled fields) ---------- */
label{color:var(--label);font-size:13px;font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],input[type=search],input[type=tel],input:not([type]),select,textarea,
.outlet-tools input[type=search]{
  background:var(--fill);border:1px solid transparent;border-radius:12px;color:var(--label);padding:11px 13px;font-size:15px;box-shadow:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);background:var(--glass-strong)}
select{-webkit-appearance:none;appearance:none;padding-right:34px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238e8e93' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center}
input::placeholder,textarea::placeholder{color:var(--label-3)}
input[type=file]{background:var(--fill);border:1px dashed var(--sep);color:var(--label-2);border-radius:12px}
input[type=file]::file-selector-button{background:var(--accent);color:#fff;font-weight:600}
.check{color:var(--label);font-size:14px}
.check input,input[type=radio]{accent-color:var(--accent)}
/* iOS switch for single tick boxes */
.check input[type=checkbox]{-webkit-appearance:none;appearance:none;width:44px;height:27px;border-radius:999px;background:var(--fill-2);position:relative;flex:none;margin:0;cursor:pointer;transition:background .2s}
.check input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:23px;height:23px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.04);transition:transform .22s cubic-bezier(.3,.7,.4,1.2)}
.check input[type=checkbox]:checked{background:var(--green)}
.check input[type=checkbox]:checked::after{transform:translateX(17px)}
.check input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.checks .check input[type=checkbox],table .check input[type=checkbox]{width:20px;height:20px;border-radius:6px;background:var(--fill-2)}
.checks .check input[type=checkbox]::after,table .check input[type=checkbox]::after{display:none}
.checks .check input[type=checkbox]:checked,table .check input[type=checkbox]:checked{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.checks{border-radius:16px}

/* ---------- buttons: capsules ---------- */
.btn{font:600 14px var(--sys);letter-spacing:-.01em;border-radius:999px;padding:10px 18px;color:var(--accent);
  background:var(--glass-strong);border:1px solid var(--glass-edge);box-shadow:var(--glass-hi),0 2px 8px rgba(0,0,0,.06);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:transform .15s cubic-bezier(.3,.7,.4,1.3),filter .15s}
.btn:hover{box-shadow:var(--glass-hi),0 4px 14px rgba(0,0,0,.10);filter:brightness(1.03)}
.btn:active{transform:scale(.96)}
.btn.primary{background:var(--accent);color:#fff;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 18px rgba(216,27,114,.30)}
.btn.dark{background:var(--label);color:var(--bg);border:0}
.btn.danger{color:var(--red);border-color:var(--glass-edge)}
.btn.sm{padding:6px 13px;font-size:13px}

/* ---------- tables: inset grouped list ---------- */
th{color:var(--label-2);text-transform:none;letter-spacing:-.01em;font-size:12.5px;font-weight:600;border-bottom:1px solid var(--sep)}
td{border-bottom:1px solid var(--sep)}
tr:last-child td{border-bottom:0}
tr:hover td{background:var(--fill)}
.thumb{border-radius:10px;background:var(--fill)}

/* ---------- badges / alerts ---------- */
.badge{background:var(--accent-soft);color:var(--accent);font-weight:600}
.badge.green{background:rgba(52,199,89,.16);color:#248a3d} .badge.grey{background:var(--fill);color:var(--label-2)}
.badge.red{background:rgba(255,59,48,.14);color:#d70015} .badge.plum{background:var(--accent);color:#fff}
@media (prefers-color-scheme:dark){.badge.green{color:#30d158}.badge.red{color:#ff6961}}
.alert{border-radius:18px;border:1px solid var(--glass-edge);background:rgba(255,149,0,.12);color:var(--label);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.alert.success{background:rgba(52,199,89,.14);color:var(--label);border-color:var(--glass-edge)}
.alert.error{background:rgba(255,59,48,.13);color:var(--label);border-color:var(--glass-edge)}
.alert.info{background:var(--accent-soft);color:var(--label);border-color:var(--glass-edge)}

/* ---------- tabs → segmented control ---------- */
.tabs{display:inline-flex;gap:2px;background:var(--fill);border-radius:12px;padding:3px;flex-wrap:wrap}
.tabs a{background:transparent;border:0;color:var(--label);border-radius:10px;padding:6px 14px;font-weight:500;font-size:13px}
.tabs a.active{background:var(--glass-strong);color:var(--label);box-shadow:0 3px 8px rgba(0,0,0,.12),0 0 0 .5px rgba(0,0,0,.04);font-weight:600}
@media (prefers-color-scheme:dark){.tabs a.active{background:#636366;color:#fff}}

/* ---------- products, QR, uploads ---------- */
.pcard{border-radius:22px}
.pcard img{background:var(--fill)}
.pcard .name{font-weight:600}
.qr-card{border-radius:26px}
.qr-card .qr canvas,.qr-card .qr img{background:#fff;padding:6px;border-radius:12px}
.dropzone{border:2px dashed var(--fill-2);border-radius:24px}
.dropzone.drag{background:var(--accent-soft)}
.dropzone strong{color:var(--accent)}
.previews img{border-radius:12px;border-color:var(--sep)}
.choice span{border-radius:16px;border:1px solid var(--sep);background:var(--fill)}
.choice input:checked + span{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset}
.scope-status strong{color:var(--accent)}
.bar-list .bar{background:var(--fill)}
.bar-list .bar i{background:linear-gradient(90deg,var(--accent),var(--accent-2))}
.pagination a,.pagination span{border-radius:10px;background:var(--glass-strong);border-color:var(--glass-edge);color:var(--label)}
.pagination span{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ---------- sign-in ---------- */
.auth-page{background:var(--bg);
  background-image:radial-gradient(600px 500px at 15% 15%,rgba(255,92,157,.30),transparent 65%),
                   radial-gradient(600px 500px at 90% 85%,rgba(255,170,110,.22),transparent 65%),
                   radial-gradient(500px 400px at 80% 10%,rgba(150,110,255,.18),transparent 65%)}
.auth-card{border-radius:34px;padding:36px 30px}
.auth-card h1{font-size:28px}

/* ---------- footer ---------- */
.sys-foot{border-top:1px solid var(--sep);color:var(--label-2)}
.sys-foot strong{color:var(--label)}
.sys-foot a{background:var(--glass-strong);border:1px solid var(--glass-edge);color:var(--accent);font-weight:600;box-shadow:var(--glass-hi),0 2px 8px rgba(0,0,0,.05);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.sys-foot a:hover{background:var(--glass-strong);filter:brightness(1.04)}

/* ---------- phones ---------- */
@media (max-width:860px){
  .sidebar{margin:0;top:0;height:100dvh;border-radius:0 30px 30px 0;width:min(290px,86vw);background:var(--glass-strong)}
  .scrim{background:rgba(0,0,0,.25);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
  .main{padding:14px 14px 50px}
  .topbar{position:sticky;top:0;z-index:30;margin:-14px -14px 18px;padding:10px 14px;
    background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--sep)}
  .topbar h1{font-size:22px}
  .card{border-radius:22px;padding:16px}
}
@media (prefers-reduced-transparency:reduce){
  .card,.kpi,.pcard,.qr-card,.auth-card,.sidebar,.btn,.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
}