/* ============================================================
   SPORTERRA MERCHANT — Seller Center (LIGHT theme)
   White / mint sidebar · fresh EMERALD accent
   Deliberately distinct from the dark owner-admin panel.
   ============================================================ */

:root{
  --ink:#14302A; --ink-2:#2C443D; --muted:#5F7269; --line:#E6EFE9; --line-2:#D6E5DC;
  --bg:#FFFFFF; --bg-soft:#F1F8F4; --bg-soft-2:#E7F3EC;

  /* electric LIME primary (from the Sporterra logo) */
  --m:#8FD119; --m-bright:#A6E635; --m-700:#5F8E0E; --m-800:#496D0B; --m-50:#F4FBE2; --m-100:#E4F4C0;
  --m-ink:#16240A; /* dark text that sits on lime fills */

  /* secondary accents */
  --c-amber:#F4A020; --c-blue:#1A5CB5; --c-purple:#7B3CF4; --c-red:#B51A1A; --c-teal:#1AB5A0;

  /* dark logo sidebar (near-black, matches the brand) */
  --side:#0C0F0A; --side-2:#0A0D08; --side-line:rgba(255,255,255,.08);
  --side-ink:rgba(255,255,255,.74); --side-ink-dim:rgba(255,255,255,.5);

  --radius:16px; --radius-sm:12px; --radius-lg:22px;
  --shadow:0 1px 2px rgba(20,48,42,.04), 0 14px 36px -22px rgba(20,48,42,.24);
  --shadow-sm:0 1px 2px rgba(20,48,42,.05), 0 6px 18px -14px rgba(20,48,42,.28);
  --ease:cubic-bezier(.22,.61,.36,1);
  --side-w:240px;
  --font:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ font-family:var(--font); color:var(--ink); background:var(--bg-soft); margin:0; font-size:14px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1,h2,h3,h4,h5{ font-weight:800; letter-spacing:-.02em; color:var(--ink); line-height:1.15; margin:0; }
a{ text-decoration:none; }
::selection{ background:var(--m-100); }
.muted{ color:var(--muted); } .small{ font-size:.86rem; } .fw7{ font-weight:700; } .fw8{ font-weight:800; }
.text-end{ text-align:right; } .w-100{ width:100%; }

/* ============ AUTH (register / login) ============ */
.auth-wrap{ min-height:100vh; display:grid; grid-template-columns:1fr 1.05fr; }
@media (max-width: 940px){ .auth-wrap{ grid-template-columns:1fr; } }

.auth-form-side{ background:var(--bg); display:flex; align-items:center; justify-content:center; padding:2.5rem 1.5rem; order:0; }
.auth-card{ width:100%; max-width:430px; }

.auth-brand{ position:relative; overflow:hidden; color:#fff; padding:3rem; display:flex; flex-direction:column;
  background:
    radial-gradient(130% 100% at 80% 0%, rgba(143,209,25,.32), transparent 55%),
    linear-gradient(160deg, #11150D, #060805); order:1; }
.auth-brand::after{ content:""; position:absolute; inset:0; opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size:22px 22px; }
.auth-brand > *{ position:relative; z-index:1; }
.auth-pball{ position:absolute; border-radius:50%; border:1.5px solid rgba(255,255,255,.12); z-index:0; }
@media (max-width: 940px){ .auth-brand{ padding:2rem 1.5rem; min-height:auto; } .auth-form-side{ order:1; } .auth-brand{ order:0; } }

.brand{ display:inline-flex; align-items:center; gap:.6rem; }
.auth-logo{ height:46px; width:auto; max-width:230px; object-fit:contain; display:block; }
.brand-mark{ width:38px; height:38px; flex:0 0 auto; }
.brand-word{ font-weight:800; font-size:1.5rem; letter-spacing:-.03em; color:var(--ink); }
.brand-word b{ color:var(--m); }
.brand--light .brand-word{ color:#fff; }
.brand--light .brand-word b{ color:#9af0cf; }

.seller-badge{ display:inline-flex; align-items:center; gap:.45rem; font-size:.7rem; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; padding:.3rem .65rem; border-radius:999px; }
.seller-badge--light{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.2); }
.seller-badge--brand{ background:var(--m-50); color:var(--m-700); }

.steps-list{ display:flex; flex-direction:column; gap:1.1rem; margin-top:2rem; }
.step-item{ display:flex; gap:.9rem; align-items:flex-start; }
.step-ic{ width:40px; height:40px; border-radius:11px; background:rgba(255,255,255,.13); display:grid; place-items:center;
  flex:0 0 auto; font-size:1rem; color:#fff; border:1px solid rgba(255,255,255,.18); }
.step-item b{ color:#fff; display:block; }
.step-item span{ color:rgba(255,255,255,.72); font-size:.9rem; }

/* form controls */
.field{ margin-bottom:1.05rem; }
.field label{ display:block; font-weight:700; font-size:.84rem; color:var(--ink-2); margin-bottom:.4rem; }
.input-wrap{ position:relative; }
.input-wrap > i:first-child{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); color:var(--muted); font-size:.95rem; }
.input-wrap .toggle-pw{ position:absolute; right:1rem; top:50%; transform:translateY(-50%); color:var(--muted); cursor:pointer; }
.form-control{ width:100%; border:1px solid var(--line-2); border-radius:12px; padding:.78rem 1rem .78rem 2.6rem;
  font-family:var(--font); font-size:.96rem; color:var(--ink); background:#fff; transition:border-color .2s var(--ease), box-shadow .2s var(--ease); }
.form-control:focus{ outline:0; border-color:var(--m); box-shadow:0 0 0 .2rem rgba(143,209,25,.22); }
.form-control.no-ic{ padding-left:1rem; }
.form-control.is-bad{ border-color:var(--c-red); }
select.form-control{ padding-left:1rem; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%235F7269' viewBox='0 0 16 16'%3E%3Cpath d='M8 11 3 6h10z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; }
textarea.form-control{ padding-left:1rem; resize:vertical; min-height:90px; }

.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-family:var(--font); font-weight:700;
  border-radius:999px; padding:.75rem 1.4rem; border:1px solid transparent; cursor:pointer; letter-spacing:-.01em; white-space:nowrap;
  transition:transform .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease); font-size:.95rem; }
.btn:active{ transform:translateY(1px); }
.btn-m{ background:var(--m); color:var(--m-ink); border-color:var(--m); }
.btn-m:hover{ background:var(--m-bright); box-shadow:0 12px 24px -12px rgba(143,209,25,.6); transform:translateY(-1px); }
.btn-ink{ background:var(--ink); color:#fff; border-color:var(--ink); }
.btn-ink:hover{ background:#0a1f1a; transform:translateY(-1px); }
.btn-ghost{ background:#fff; color:var(--ink); border-color:var(--line-2); }
.btn-ghost:hover{ background:var(--bg-soft); border-color:var(--ink); }
.btn-soft{ background:var(--m-50); color:var(--m-700); }
.btn-soft:hover{ background:var(--m-100); }
.btn-danger{ background:#fcebec; color:var(--c-red); }
.btn-danger:hover{ background:#f7d6d6; }
.btn-sm{ padding:.5rem 1rem; font-size:.86rem; }
.btn-lg{ padding:.9rem 1.6rem; font-size:1rem; }
.btn-block{ width:100%; }

.check-line{ display:flex; align-items:flex-start; gap:.5rem; font-size:.88rem; color:var(--ink-2); cursor:pointer; }
.check-line input{ accent-color:var(--m); width:16px; height:16px; margin-top:.15rem; flex:0 0 auto; }

.auth-switch{ text-align:center; margin-top:1.4rem; color:var(--muted); font-size:.92rem; }
.auth-switch a{ color:var(--m-700); font-weight:700; }

/* ============ APP SHELL ============ */
.app{ display:flex; min-height:100vh; }
.sidebar{ width:var(--side-w); flex:0 0 var(--side-w); background:var(--side); color:var(--side-ink);
  position:fixed; inset:0 auto 0 0; z-index:1040; display:flex; flex-direction:column; transform:translateX(0);
  transition:transform .3s var(--ease); border-right:1px solid var(--side-line); }
.sidebar-head{ padding:.9rem .9rem .6rem; display:flex; align-items:center; justify-content:center; position:relative; }
.side-logo{ height:54px; width:auto; max-width:200px; object-fit:contain; display:block; }
.side-close{ display:none; background:none; border:0; color:var(--side-ink); font-size:1.1rem; cursor:pointer; position:absolute; right:.9rem; top:.9rem; }

.store-switch{ margin:.2rem .8rem 0; padding:.6rem .75rem; border:1px solid var(--side-line); border-radius:12px; background:var(--side-2);
  display:flex; align-items:center; gap:.55rem; }
.store-switch .logo{ width:34px; height:34px; border-radius:9px; background:var(--m); display:grid; place-items:center; color:var(--m-ink); font-weight:800; flex:0 0 auto; font-size:.85rem; }
.store-switch .logo img{ width:26px; height:26px; object-fit:contain; }
.store-switch .nm{ font-weight:700; font-size:.83rem; line-height:1.1; color:#fff; }
.store-switch .st{ font-size:.7rem; }

.side-scroll{ flex:1; overflow-y:auto; padding:.4rem .7rem 1.2rem; scrollbar-width:thin; }
.side-scroll::-webkit-scrollbar{ width:4px; }
.side-scroll::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.14); border-radius:6px; }
.side-label{ font-size:.62rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--side-ink-dim); padding:.95rem .9rem .4rem; }
.side-link{ display:flex; align-items:center; gap:.7rem; padding:.58rem .9rem; border-radius:10px; color:var(--side-ink);
  font-weight:600; font-size:.86rem; transition:background .18s var(--ease), color .18s var(--ease); }
.side-link i{ width:18px; text-align:center; font-size:.92rem; color:var(--side-ink-dim); transition:color .18s var(--ease); }
.side-link:hover{ background:rgba(255,255,255,.06); color:#fff; }
.side-link:hover i{ color:var(--m); }
.side-link.active{ background:var(--m); color:var(--m-ink); box-shadow:0 8px 20px -10px rgba(143,209,25,.55); }
.side-link.active i{ color:var(--m-ink); }
.side-link.locked{ opacity:.45; }
.side-badge{ margin-left:auto; background:rgba(255,255,255,.12); color:#fff; font-size:.68rem; font-weight:800; padding:.08rem .44rem; border-radius:999px; }
.side-link.active .side-badge{ background:rgba(22,36,10,.2); color:var(--m-ink); }
.side-badge.lock{ background:transparent; color:var(--side-ink-dim); }

.side-foot{ padding:.75rem .8rem; border-top:1px solid var(--side-line); }
.side-user{ display:flex; align-items:center; gap:.55rem; padding:.35rem .4rem; border-radius:10px; }
.side-user .av{ width:32px; height:32px; border-radius:9px; background:var(--m); display:grid; place-items:center; color:var(--m-ink); font-weight:800; flex:0 0 auto; font-size:.78rem; }
.side-user .nm{ font-weight:700; color:#fff; font-size:.82rem; line-height:1.1; }
.side-user .rl{ font-size:.68rem; color:var(--side-ink-dim); }
.side-foot .row-act{ background:transparent; border-color:var(--side-line); color:var(--side-ink); }
.side-foot .row-act:hover{ border-color:var(--m); color:var(--m); }

.main{ flex:1; min-width:0; margin-left:var(--side-w); display:flex; flex-direction:column; }
.topbar{ position:sticky; top:0; z-index:1030; background:rgba(255,255,255,.88); backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line); padding:.7rem 1.4rem; display:flex; align-items:center; gap:.9rem; }
.burger{ display:none; background:none; border:0; font-size:1.3rem; color:var(--ink); cursor:pointer; }
.topbar-search{ display:flex; align-items:center; gap:.55rem; background:var(--bg-soft); border:1px solid transparent; border-radius:999px; padding:.5rem 1rem; flex:1; max-width:400px; transition:.2s var(--ease); }
.topbar-search:focus-within{ background:#fff; border-color:var(--line-2); }
.topbar-search input{ border:0; outline:0; background:transparent; font-family:var(--font); font-size:.92rem; flex:1; color:var(--ink); }
.topbar-actions{ margin-left:auto; display:flex; align-items:center; gap:.6rem; }
.icon-btn{ width:36px; height:36px; border-radius:10px; border:1px solid var(--line); background:#fff; display:grid; place-items:center; color:var(--ink-2); cursor:pointer; position:relative; transition:.18s var(--ease); font-size:.9rem; }
.icon-btn:hover{ border-color:var(--ink); color:var(--ink); }
.icon-btn .dot{ position:absolute; top:9px; right:10px; width:8px; height:8px; border-radius:50%; background:var(--c-amber); border:2px solid #fff; }
.topbar-user{ display:flex; align-items:center; gap:.6rem; cursor:pointer; }
.topbar-user .av{ width:34px; height:34px; border-radius:9px; background:var(--m); display:grid; place-items:center; color:var(--m-ink); font-weight:800; font-size:.82rem; }
.topbar-user .av img{ width:30px; height:30px; object-fit:contain; }
.topbar-user .nm{ font-weight:700; font-size:.84rem; line-height:1.05; white-space:nowrap; }
.topbar-user .rl{ font-size:.72rem; color:var(--muted); white-space:nowrap; }
.topbar-user .meta{ line-height:1.05; }
@media (max-width: 720px){ .topbar-user .meta{ display:none; } }

.content{ padding:1.5rem 1.4rem 2.2rem; flex:1; }
@media (max-width: 768px){ .content{ padding:1.1rem .9rem 1.8rem; } .topbar{ padding:.6rem .9rem; } }
@media (max-width: 480px){ .content{ padding:.9rem .75rem 1.5rem; } }
.page-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.page-head .ey{ font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--m-700); }
.page-head h1{ font-size:clamp(1.3rem,2.5vw,1.75rem); margin-top:.2rem; }
.page-head p{ color:var(--muted); margin:.3rem 0 0; }

/* grid + cards */
.grid{ display:grid; gap:1.1rem; }
.cols-4{ grid-template-columns:repeat(4,1fr); } .cols-3{ grid-template-columns:repeat(3,1fr); } .cols-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width: 1100px){ .cols-4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 991px){ .cols-3{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 640px){ .cols-4,.cols-3,.cols-2{ grid-template-columns:1fr; } }

.card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.1rem; }
.card-pad-lg{ padding:1.35rem; }
.card-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; }
.card-head h3{ font-size:1rem; } .card-head .sub{ font-size:.82rem; color:var(--muted); }

.stat{ position:relative; overflow:hidden; }
.stat .ic{ width:46px; height:46px; border-radius:13px; display:grid; place-items:center; font-size:1.2rem; margin-bottom:1rem; color:var(--accent,var(--m)); background:color-mix(in srgb, var(--accent,var(--m)) 13%, #fff); }
.stat .val{ font-size:2rem; font-weight:800; letter-spacing:-.03em; line-height:1; }
.stat .lbl{ color:var(--muted); font-weight:600; margin-top:.3rem; font-size:.9rem; }
.stat .delta{ display:inline-flex; align-items:center; gap:.3rem; font-size:.8rem; font-weight:700; margin-top:.7rem; padding:.2rem .5rem; border-radius:999px; }
.delta.up{ color:var(--m-700); background:var(--m-50); } .delta.down{ color:var(--c-red); background:#fdeded; }
.stat .spark{ position:absolute; right:1rem; bottom:1rem; width:78px; height:34px; opacity:.85; }

.bars{ display:flex; align-items:flex-end; gap:.55rem; height:200px; padding-top:1rem; }
.bar-col{ flex:1; display:flex; flex-direction:column; align-items:center; gap:.5rem; height:100%; justify-content:flex-end; }
.bar{ width:100%; max-width:30px; border-radius:7px 7px 3px 3px; background:linear-gradient(180deg,var(--m),#3fcc92); transition:height .8s var(--ease); }
.bar-x{ font-size:.74rem; color:var(--muted); font-weight:600; }
.progress-row{ margin-bottom:1rem; } .progress-row:last-child{ margin-bottom:0; }
.progress-row .top{ display:flex; justify-content:space-between; font-size:.88rem; margin-bottom:.4rem; }
.track{ height:9px; border-radius:999px; background:var(--bg-soft-2); overflow:hidden; }
.track > i{ display:block; height:100%; border-radius:999px; background:var(--accent,var(--m)); }

/* table */
.table-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.table-tools{ display:flex; align-items:center; gap:.8rem; padding:1.1rem 1.3rem; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.table-tools .grow{ flex:1; }
.mini-search{ display:flex; align-items:center; gap:.5rem; background:var(--bg-soft); border:1px solid transparent; border-radius:999px; padding:.5rem .9rem; min-width:200px; }
.mini-search:focus-within{ background:#fff; border-color:var(--line-2); }
.mini-search input{ border:0; outline:0; background:transparent; font-family:var(--font); font-size:.9rem; flex:1; }
.table-scroll{ overflow-x:auto; }
table.tbl{ width:100%; border-collapse:collapse; font-size:.92rem; min-width:600px; }
table.tbl th{ text-align:left; font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); padding:.85rem 1.3rem; border-bottom:1px solid var(--line); white-space:nowrap; }
table.tbl td{ padding:.9rem 1.3rem; border-bottom:1px solid var(--line); vertical-align:middle; }
table.tbl tbody tr{ transition:background .15s var(--ease); }
table.tbl tbody tr:hover{ background:var(--bg-soft); }
table.tbl tbody tr:last-child td{ border-bottom:0; }
.cell-prod{ display:flex; align-items:center; gap:.8rem; }
.cell-thumb{ width:42px; height:42px; border-radius:10px; object-fit:cover; background:var(--bg-soft); flex:0 0 auto; }
.cell-title{ font-weight:700; color:var(--ink); } .cell-sub{ font-size:.8rem; color:var(--muted); }

.badge{ display:inline-flex; align-items:center; gap:.35rem; font-size:.76rem; font-weight:800; padding:.28rem .62rem; border-radius:999px; }
.badge i{ font-size:.5rem; }
.badge.green{ background:var(--m-50); color:var(--m-700); }
.badge.amber{ background:#fef3e0; color:#b06f08; }
.badge.red{ background:#fdeded; color:var(--c-red); }
.badge.blue{ background:#e9f1fb; color:var(--c-blue); }
.badge.gray{ background:var(--bg-soft-2); color:var(--muted); }
.badge.purple{ background:#efe7fb; color:var(--c-purple); }

.row-actions{ display:flex; gap:.35rem; }
.row-act{ width:32px; height:32px; border-radius:9px; border:1px solid var(--line); background:#fff; display:grid; place-items:center; color:var(--muted); cursor:pointer; transition:.15s var(--ease); }
.row-act:hover{ border-color:var(--ink); color:var(--ink); }
.row-act.danger:hover{ border-color:var(--c-red); color:var(--c-red); }
.table-foot{ display:flex; align-items:center; justify-content:space-between; padding:1rem 1.3rem; flex-wrap:wrap; gap:.8rem; }
.pager{ display:flex; gap:.3rem; }
.pager button{ min-width:34px; height:34px; border-radius:9px; border:1px solid var(--line); background:#fff; font-family:var(--font); font-weight:700; color:var(--ink-2); cursor:pointer; }
.pager button.active{ background:var(--ink); color:#fff; border-color:var(--ink); }

.chip{ display:inline-flex; align-items:center; gap:.4rem; background:var(--bg-soft); border:1px solid var(--line); border-radius:999px; padding:.35rem .8rem; font-weight:600; font-size:.84rem; color:var(--ink-2); }
.cell-av{ width:38px; height:38px; border-radius:50%; display:grid; place-items:center; color:#fff; font-weight:800; font-size:.85rem; flex:0 0 auto; }
.av-pink{ background:#e0719a; } .av-blue{ background:var(--c-blue); } .av-green{ background:var(--m); color:var(--m-ink); } .av-amber{ background:#d98a16; } .av-purple{ background:var(--c-purple); } .av-teal{ background:var(--c-teal); } .av-red{ background:var(--c-red); }

.cat-tile{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.2rem; transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.cat-tile:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }
.cat-tile .ic{ width:48px; height:48px; border-radius:13px; display:grid; place-items:center; font-size:1.3rem; color:var(--accent,var(--m)); background:color-mix(in srgb, var(--accent,var(--m)) 13%, #fff); margin-bottom:.9rem; }

.toggle{ position:relative; width:46px; height:26px; flex:0 0 auto; }
.toggle input{ opacity:0; width:0; height:0; }
.toggle .sl{ position:absolute; inset:0; background:var(--line-2); border-radius:999px; cursor:pointer; transition:.2s var(--ease); }
.toggle .sl::before{ content:""; position:absolute; width:20px; height:20px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s var(--ease); box-shadow:0 1px 3px rgba(0,0,0,.2); }
.toggle input:checked + .sl{ background:var(--m); }
.toggle input:checked + .sl::before{ transform:translateX(20px); }
.set-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.set-row:last-child{ border-bottom:0; }
.set-row .lbl b{ display:block; font-weight:700; } .set-row .lbl span{ font-size:.86rem; color:var(--muted); }
.av-xl{ width:96px; height:96px; border-radius:24px; display:grid; place-items:center; color:var(--m-ink); font-weight:800; font-size:2rem; background:var(--m); }

/* pending-approval banner + state */
.notice{ display:flex; gap:1rem; align-items:flex-start; border-radius:var(--radius); padding:1.2rem 1.4rem; }
.notice.warn{ background:#fff8ec; border:1px solid #f6e2bb; }
.notice.warn .ic{ width:44px; height:44px; border-radius:12px; background:#fce6bd; color:#b06f08; display:grid; place-items:center; font-size:1.2rem; flex:0 0 auto; }
.notice h3{ font-size:1.1rem; } .notice p{ margin:.3rem 0 0; color:var(--ink-2); }

.lock-state{ text-align:center; padding:3.5rem 1.5rem; }
.lock-state .ic{ width:74px; height:74px; border-radius:20px; background:var(--bg-soft-2); color:var(--m-700); display:grid; place-items:center; font-size:1.8rem; margin:0 auto 1.2rem; }

.scrim{ position:fixed; inset:0; background:rgba(20,48,42,.4); z-index:1035; opacity:0; pointer-events:none; transition:opacity .3s var(--ease); }
.scrim.show{ opacity:1; pointer-events:auto; }
@media (max-width: 1024px){
  .sidebar{ transform:translateX(-100%); box-shadow:0 0 60px rgba(0,0,0,.18); }
  .sidebar.open{ transform:translateX(0); }
  .side-close{ display:block; } .main{ margin-left:0; } .burger{ display:block; }
}
@media (prefers-reduced-motion: no-preference){
  .rise.in{ animation:rise .5s var(--ease) both; }
  @keyframes rise{ from{ opacity:0; transform:translateY(14px);} to{ opacity:1; transform:none; } }
}
.divider{ height:1px; background:var(--line); border:0; margin:1.3rem 0; }
.flex{ display:flex; } .between{ justify-content:space-between; } .center{ align-items:center; }
.gap-sm{ gap:.5rem; } .gap{ gap:1rem; } .wrap{ flex-wrap:wrap; } .grow{ flex:1; }
.mt-1{ margin-top:.5rem; } .mt-2{ margin-top:1rem; } .mt-3{ margin-top:1.5rem; } .mb-1{ margin-bottom:.5rem; } .mb-2{ margin-bottom:1rem; } .mb-3{ margin-bottom:1.5rem; }