:root {
  --bg: #050808;
  --panel: #0c1212;
  --panel-2: #121a1a;
  --line: #233131;
  --green: #a7ff00;
  --green-2: #6bd400;
  --text: #f5f7f2;
  --muted: #a6b0ad;
  --danger: #ff4545;
  --warning: #ffd447;
}

body {
  background: radial-gradient(circle at top left, rgba(167,255,0,.08), transparent 30%), var(--bg);
  color: var(--text);
  overflow-x:hidden;
}

a { color: inherit; text-decoration: none; }
.maintenance-body { min-height:100vh; overflow:hidden; background:#030606; }
.maintenance-screen {
  min-height:100vh; display:grid; place-items:center; position:relative; padding:28px;
}
.maintenance-bg {
  position:absolute; inset:-14px; z-index:0;
  background:
    linear-gradient(90deg, rgba(3,6,6,.98), rgba(3,6,6,.72), rgba(3,6,6,.92)),
    url("../img/hero-train-arnold.jpg") center/cover no-repeat;
  filter:grayscale(1) brightness(.56) contrast(1.14);
  transform:scale(1.02);
}
.maintenance-card {
  width:min(100%, 760px); position:relative; z-index:1; display:grid; gap:18px;
  padding:42px; border:1px solid rgba(167,255,0,.28); border-radius:8px;
  background:linear-gradient(180deg, rgba(11,17,17,.92), rgba(3,6,6,.88));
  box-shadow:0 34px 110px rgba(0,0,0,.56), 0 0 42px rgba(167,255,0,.08);
}
.maintenance-card img { width:190px; }
.maintenance-card h1 { margin:0; font-size:clamp(40px,6vw,72px); line-height:.94; text-transform:uppercase; }
.maintenance-card p { max-width:620px; margin:0; color:#d6ded8; font-size:18px; line-height:1.55; }
.maintenance-progress { height:8px; border-radius:999px; overflow:hidden; background:rgba(255,255,255,.08); }
.maintenance-progress i {
  display:block; width:46%; height:100%; border-radius:999px;
  background:linear-gradient(90deg,#78c900,var(--green)); box-shadow:0 0 22px rgba(167,255,0,.34);
}
.maintenance-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:6px; }
.site-shell { min-height: 100vh; }
.site-shell > .navbar .container,
.site-shell main .container,
.site-shell > .footer .container {
  width:min(100% - 32px, 1560px);
  max-width:none;
}
.navbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(5, 8, 8, .88);
  border-bottom: 1px solid rgba(167,255,0,.16);
  backdrop-filter: blur(14px);
}
.nav-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.admin-layout .admin-container { width:min(100% - 24px, 1560px); max-width:none; }
.admin-layout .admin-section { padding:42px 0; }
.admin-layout .nav-inner { gap:18px; }
.admin-layout .logo img { width:136px; }
.admin-layout .nav-links { gap:18px; }
.logo { display: flex; align-items: center; gap: 10px; font-weight: 900; letter-spacing: .02em; }
.logo img { width: 168px; max-height: 62px; height: auto; display: block; object-fit: contain; filter: drop-shadow(0 0 12px rgba(167,255,0,.2)); }
.footer .logo img { width: 190px; max-height: 82px; }
.logo-mark {
  width: 54px; height: 34px; display: grid; place-items: center;
  border: 2px solid var(--green); color: var(--green); border-radius: 7px;
  font-weight: 950; font-style: italic; line-height: 1; box-shadow: 0 0 22px rgba(167,255,0,.24);
}
.logo small { display:block; color: var(--green); font-size: 11px; margin-top: -4px; }
.nav-links { display:flex; gap:22px; align-items:center; font-size:12px; font-weight:800; text-transform:uppercase; }
.nav-links a { color:#dfe6de; border-bottom:2px solid transparent; padding: 8px 0; }
.nav-links a.active,.nav-links a:hover { color: var(--green); border-color: var(--green); }
.mobile-menu-toggle,
.mobile-only-nav { display:none; }
.floating-plan-link { display:none !important; }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px;
  border:1px solid var(--line); border-radius:6px; padding: 0 18px; font-weight:900;
  text-transform:uppercase; font-size:12px; color:#fff; background:#0d1313; cursor:pointer;
}
.btn-green { background:linear-gradient(180deg,var(--green),#85d900); color:#061006; border-color:#b7ff22; box-shadow:0 0 22px rgba(167,255,0,.18); }
.btn-outline { border-color:#5d6969; }
.btn-danger { background:#3a1010; border-color:#ff4545; color:#ffd8d8; }
.btn.disabled, .btn[aria-disabled="true"] { opacity:.48; pointer-events:none; }
.btn-xl { min-height:54px; padding:0 34px; font-size:13px; letter-spacing:0; }
.plans-cta { display:flex; justify-content:center; margin-top:28px; }
.hero {
  min-height: 610px; display:grid; align-items:center; position:relative; overflow:hidden;
  background:#030606;
  border-bottom:1px solid rgba(167,255,0,.18);
}
.hero::after {
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(90deg, rgba(3,6,6,.98) 0%, rgba(3,6,6,.88) 31%, rgba(3,6,6,.42) 59%, rgba(3,6,6,.18) 100%),
    linear-gradient(180deg, rgba(3,6,6,.14), rgba(3,6,6,.42));
}
.hero-media {
  position:absolute; inset:-12px; z-index:0;
  background:url("../img/hero-train-arnold.jpg") center right/cover no-repeat;
  filter: blur(.4px) grayscale(1) contrast(1.16) brightness(.58);
  transform: scale(1.01);
}
.hero-brand {
  position:absolute; z-index:2; right:8%; top:50%; transform:translateY(-50%);
  width:min(430px,34vw); opacity:.92; filter:drop-shadow(0 0 24px rgba(167,255,0,.2));
}
.hero .container { width:min(100% - 32px,1560px); max-width:none; }
.hero .container { position:relative; z-index:3; }
.hero .container > * { max-width: 520px; }
.hero h1 { font-size: clamp(42px, 6vw, 84px); line-height:.95; margin:0 0 22px; letter-spacing:0; }
.hero h1 span,.green { color:var(--green); }
.hero p { max-width: 520px; color:#d6ded8; font-size:18px; }
.benefit-strip,.neon-strip { background:linear-gradient(90deg,#89d900,var(--green)); color:#071007; padding:22px 0; font-weight:900; }
.benefit-grid { display:grid; grid-template-columns: repeat(5, 1fr); gap:14px; }
.benefit-card {
  background:rgba(13,19,19,.82); border:1px solid rgba(167,255,0,.24); border-radius:8px;
  padding:18px; min-height:96px; display:flex; gap:12px; align-items:center; color:#fff;
}
.benefit-card.is-active { border-color:var(--green); background:rgba(167,255,0,.09); }
.benefit-icon { color:var(--green); font-size:28px; }
.store-filter-grid {
  grid-template-columns:repeat(5,minmax(130px,180px));
  justify-content:center;
  gap:12px;
  max-width:980px;
  margin-inline:auto;
}
.store-filter-grid .benefit-card {
  min-height:68px;
  padding:12px 16px;
  gap:10px;
}
.store-filter-grid .benefit-icon { font-size:22px; }
.store-filter-grid strong { font-size:14px; }
.section { padding: 72px 0; }
.store-section { padding-top:22px; }
.store-section .section-subtitle { margin-bottom:22px; }
.store-toolbar {
  width:min(100%, 760px);
  margin:0 auto 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid rgba(167,255,0,.18);
  border-radius:8px;
  background:rgba(7,16,16,.76);
}
.store-toolbar > div {
  display:grid;
  gap:2px;
  color:#fff;
  font-weight:950;
}
.store-toolbar span {
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.store-page-form {
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.store-page-form .form-select {
  width:96px;
  min-height:42px;
  background:#071010;
}
.store-pagination {
  width:min(100%, 980px);
  margin-inline:auto;
}
.email-verification-row {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}
.email-verification-row .btn {
  min-height:48px;
  white-space:nowrap;
}
.memberships-section { padding-top:22px; }
.memberships-section .section-subtitle { margin-bottom:22px; }
.contact-section { padding-top:26px; }
.contact-section .section-subtitle { margin-bottom:24px; }
.section-title { text-align:center; margin:0 0 10px; font-size:34px; text-transform:uppercase; }
.section-subtitle { color:var(--muted); text-align:center; margin:0 0 34px; }
.training-feature {
  padding: 50px 0;
  border-block:1px solid rgba(167,255,0,.14);
  background:
    linear-gradient(90deg, rgba(5,8,8,.96), rgba(5,8,8,.72)),
    radial-gradient(circle at 74% 34%, rgba(167,255,0,.12), transparent 32%);
}
.training-feature-inner {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,1.05fr);
  gap:28px;
  align-items:center;
}
.training-feature h2 {
  font-size:clamp(32px,4.5vw,58px);
  line-height:1;
  margin:0 0 18px;
  text-transform:uppercase;
}
.training-feature p:not(.green) { color:#d6ded8; max-width:560px; font-size:17px; }
.training-feature-image {
  margin:0;
  min-height:0;
  width:auto;
  height:min(658px, 91.08vw);
  justify-self:end;
  aspect-ratio: 1080 / 1350;
  max-height:658px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid rgba(167,255,0,.22);
  box-shadow:0 30px 80px rgba(0,0,0,.34);
  background:#050808;
}
.training-feature-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.card-dark {
  background:linear-gradient(180deg, rgba(18,26,26,.94), rgba(8,12,12,.96));
  border:1px solid var(--line); border-radius:8px; padding:24px;
}
.card-dark.featured { border-color:var(--green); box-shadow:0 0 26px rgba(167,255,0,.17); }
.plan-price { font-size:32px; font-weight:950; margin:14px 0; }
.plan-price small { font-size:13px; color:var(--muted); }
.plans-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0; }
.home-plans-grid { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:1168px; margin-inline:auto; }
.plans-grid > [class*="col"] { max-width:none; flex:none; padding:0; }
.plans-grid .card-dark { height:100%; padding:20px; }
.plans-grid h2,
.plans-grid h3 { font-size:20px; line-height:1.15; margin-bottom:12px; }
.plans-grid .plan-price { font-size:28px; margin:12px 0; }
.plans-grid .check-list { margin:14px 0; }
.plans-grid .check-list li { margin:7px 0; font-size:14px; }
.plans-grid .muted { font-size:12px; }
.membership-buy-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.membership-buy-card {
  min-height:100%;
  display:grid;
  grid-template-rows:auto auto auto 1fr auto;
  gap:14px;
  padding:22px;
  border:1px solid rgba(167,255,0,.18);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(18,26,26,.94), rgba(8,12,12,.96));
  box-shadow:0 18px 48px rgba(0,0,0,.22);
}
.membership-buy-card.featured {
  border-color:var(--green);
  box-shadow:0 0 28px rgba(167,255,0,.16), 0 18px 48px rgba(0,0,0,.25);
}
.membership-buy-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.membership-buy-head h2 {
  margin:12px 0 0;
  font-size:20px;
  line-height:1.12;
}
.membership-duration {
  min-width:70px;
  min-height:34px;
  display:grid;
  place-items:center;
  padding:0 10px;
  border-radius:8px;
  color:var(--green);
  border:1px solid rgba(167,255,0,.2);
  background:rgba(167,255,0,.06);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.membership-buy-card > p {
  margin:0;
  color:#d6ded8;
  font-size:14px;
  line-height:1.45;
}
.membership-price-row {
  display:grid;
  gap:6px;
  padding:14px 0;
  border-block:1px solid rgba(167,255,0,.12);
}
.membership-price-row strong {
  color:#fff;
  font-size:32px;
  line-height:1;
}
.membership-price-row span {
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.membership-benefits {
  align-self:start;
  border:1px solid rgba(167,255,0,.14);
  border-radius:8px;
  background:rgba(5,8,8,.42);
}
.membership-benefits summary {
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 13px;
  color:#fff;
  cursor:pointer;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.membership-benefits summary::after {
  content:"+";
  color:var(--green);
  font-size:18px;
  line-height:1;
}
.membership-benefits[open] summary::after { content:"−"; }
.membership-benefits .check-list {
  margin:0;
  padding:0 14px 14px;
}
.membership-benefits .check-list li {
  margin:7px 0;
  font-size:13px;
  line-height:1.35;
}
.membership-note-row {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:18px 0 0;
}
.membership-note-row > div {
  display:grid;
  gap:5px;
  min-height:86px;
  padding:16px;
  border-radius:8px;
  border:1px solid rgba(167,255,0,.16);
  background:rgba(13,19,19,.62);
}
.membership-note-row strong {
  color:var(--green);
  text-transform:uppercase;
  font-size:13px;
}
.membership-note-row span {
  color:#d6ded8;
  font-size:13px;
  line-height:1.4;
}
.special-plans-section {
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid rgba(167,255,0,.14);
}
.section-kicker {
  color:var(--green);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  margin-bottom:8px;
}
.special-plans-section h2 {
  margin:0 0 8px;
  font-size:28px;
}
.special-plans-section > p {
  margin:0 0 18px;
  color:var(--muted);
}
.special-plan-list { display:grid; gap:10px; }
.special-plan-item {
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto minmax(190px,.75fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border:1px solid rgba(167,255,0,.16);
  border-radius:8px;
  background:rgba(5,8,8,.55);
}
.special-plan-item h3 {
  margin:0 0 5px;
  font-size:17px;
}
.special-plan-item p {
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.special-plan-meta {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.special-plan-meta strong {
  color:#fff;
  font-size:22px;
}
.special-plan-meta > span:not(.status-pill) {
  color:var(--muted);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.membership-benefits.compact summary { min-height:38px; }
.membership-benefits.compact .check-list {
  max-width:360px;
}
.check-list { list-style:none; padding:0; margin:18px 0; color:#dce5df; }
.check-list li { margin:9px 0; }
.check-list li::before { content:"✓"; color:var(--green); margin-right:9px; font-weight:900; }
.gallery-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:14px; }
.gallery-item {
  min-height:280px; border:1px solid rgba(167,255,0,.18); border-radius:8px;
  background:#0d1313; overflow:hidden; margin:0;
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.gallery-item img {
  width:100%;
  height:100%;
  min-height:280px;
  object-fit:cover;
  display:block;
  filter:contrast(1.05) saturate(.94);
  transition:transform .26s ease, filter .26s ease;
}
.gallery-item:hover img {
  transform:scale(1.035);
  filter:contrast(1.12) saturate(1);
}
.auth-grid { display:grid; grid-template-columns: 1fr 1fr; gap:24px; align-items:start; }
.form-stack { display:grid; gap:14px; }
.alert { padding:14px 16px; border-radius:8px; margin-bottom:18px; border:1px solid var(--line); }
.alert-ok { border-color:var(--green); color:var(--green); }
.alert-error { border-color:var(--danger); color:#ffb9b9; }
.contract-box {
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid rgba(167,255,0,.22);
  border-radius:8px;
  background:rgba(5,8,8,.5);
}
.contract-box h2 {
  margin:0;
  font-size:20px;
}
.contract-scroll {
  max-height:220px;
  overflow:auto;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  color:#d6ded8;
  background:rgba(0,0,0,.22);
}
.contract-scroll p { margin:0 0 10px; line-height:1.5; }
.signature-box {
  display:grid;
  gap:10px;
}
.signature-box > span {
  color:#fff;
  font-weight:950;
  text-transform:uppercase;
  font-size:12px;
}
.signature-box canvas {
  width:100%;
  height:180px;
  border:1px solid rgba(167,255,0,.28);
  border-radius:8px;
  background:#fff;
  touch-action:none;
}
.privacy-card {
  max-width:980px;
  margin:auto;
  display:grid;
  gap:12px;
}
.privacy-card h2 {
  margin:10px 0 0;
  color:var(--green);
  font-size:18px;
}
.privacy-card p {
  margin:0;
  color:#d6ded8;
  line-height:1.65;
}
.dashboard-grid { display:grid; grid-template-columns: 1.1fr .9fr; gap:22px; }
.qr-box {
  background:#fff; padding:16px; border-radius:8px; width:min(280px,100%); margin:auto; color:#050808;
}
.qr-premium {
  width:min(310px,100%);
  padding:18px;
  border:3px solid var(--green);
  box-shadow:0 0 28px rgba(167,255,0,.2);
}
.qr-canvas-wrap {
  position:relative; width:236px; height:236px; margin:auto;
}
.member-qr canvas,
.member-qr img { width:236px !important; height:236px !important; display:block; border-radius:6px; }
.qr-center-logo {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:74px; height:44px; object-fit:contain; padding:5px; border-radius:7px;
  background:#050808; border:2px solid var(--green); box-shadow:0 0 12px rgba(167,255,0,.32);
}
.qr-short-code { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; font-size:13px; color:#1a2424; margin-bottom:0; }
.qr-short-code strong { color:#050808; letter-spacing:.08em; }
.qr-token { overflow-wrap:anywhere; font-family:monospace; font-size:12px; color:#5b6663; }
.fake-qr {
  aspect-ratio:1; display:grid; grid-template-columns:repeat(9,1fr); gap:4px; background:#fff;
}
.fake-qr i { background:#080808; min-height:14px; }
.reception-result {
  min-height:260px; display:grid; place-items:center; text-align:center; border-radius:12px;
  border:1px solid var(--line); background:#0d1313; padding:28px;
}
.result-standby { border-color:rgba(167,255,0,.18); box-shadow:0 0 28px rgba(167,255,0,.08); }
.result-allowed { border-color:var(--green); box-shadow:0 0 34px rgba(167,255,0,.22); }
.result-denied { border-color:var(--danger); box-shadow:0 0 34px rgba(255,69,69,.15); }
.result-warning { border-color:var(--warning); box-shadow:0 0 34px rgba(255,212,71,.14); }
.result-word { font-size:34px; font-weight:950; text-transform:uppercase; }
.qr-scan-input {
  font-size:18px; min-height:54px; border-color:rgba(167,255,0,.42);
  color:transparent !important; caret-color:var(--green); text-shadow:none;
}
.qr-scan-input::placeholder { color:#8d9996; }
.qr-scan-input:focus {
  color:transparent !important;
  box-shadow:0 0 0 3px rgba(167,255,0,.14), 0 0 28px rgba(167,255,0,.12);
}
.qr-scan-form.is-validating-qr .qr-scan-input { border-color:var(--green); }
.qr-submit-fallback {
  pointer-events:none;
  opacity:.78;
}
.qr-camera-tools {
  display:grid; gap:12px; padding:14px; border:1px solid rgba(167,255,0,.18);
  border-radius:8px; background:rgba(5,8,8,.42);
}
.qr-camera-actions { display:flex; gap:10px; flex-wrap:wrap; }
.qr-camera-reader {
  width:100%; max-width:420px; min-height:280px; overflow:hidden; border-radius:8px;
  border:1px solid rgba(167,255,0,.3); background:#020505;
}
.qr-camera-reader video { border-radius:8px; }
.product-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.product-grid .card-dark { padding:18px; }
.product-grid h3 { font-size:17px; line-height:1.2; margin-bottom:8px; }
.product-grid p { margin-bottom:10px; font-size:13px; }
.product-grid .plan-price { font-size:28px; margin:10px 0; }
.product-img { height:150px; border-radius:8px; background:url("../img/product.svg") center/cover no-repeat; border:1px solid #233131; }
.cart-floating-button {
  position:fixed; right:22px; bottom:22px; z-index:80;
  min-height:54px; padding:0 18px; display:inline-flex; align-items:center; gap:12px;
  border:1px solid #b7ff22; border-radius:8px;
  background:linear-gradient(180deg,var(--green),#85d900); color:#061006;
  font-weight:950; text-transform:uppercase; box-shadow:0 18px 38px rgba(0,0,0,.36), 0 0 28px rgba(167,255,0,.24);
}
.cart-floating-button strong {
  min-width:28px; height:28px; display:grid; place-items:center; border-radius:999px;
  background:#061006; color:var(--green); font-size:13px;
}
.cart-button-icon {
  width:22px; height:22px; display:inline-grid; place-items:center;
  border:2px solid #061006; border-radius:4px; transform:skewX(-10deg);
  font-size:0; position:relative;
}
.cart-button-icon::before,
.cart-button-icon::after {
  content:""; position:absolute; bottom:-7px; width:5px; height:5px;
  border-radius:50%; background:#061006;
}
.cart-button-icon::before { left:3px; }
.cart-button-icon::after { right:3px; }
.cart-drawer-backdrop {
  position:fixed; inset:0; z-index:88; background:rgba(0,0,0,.58); backdrop-filter:blur(2px);
}
.cart-drawer {
  position:fixed; top:0; right:0; z-index:90; width:min(430px,100vw); height:100dvh;
  display:grid; grid-template-rows:auto 1fr auto; background:#071010;
  border-left:1px solid rgba(167,255,0,.28); box-shadow:-28px 0 80px rgba(0,0,0,.54);
  transform:translateX(105%); transition:transform .22s ease;
}
.cart-drawer.is-open { transform:translateX(0); }
.cart-drawer-head {
  display:flex; justify-content:space-between; align-items:flex-start; gap:18px;
  padding:24px; border-bottom:1px solid rgba(167,255,0,.16);
}
.cart-drawer-head h2 { margin:4px 0 0; font-size:24px; }
.cart-drawer-items { overflow:auto; padding:18px 18px 8px; display:grid; gap:12px; align-content:start; }
.cart-item {
  display:grid; grid-template-columns:70px 1fr; gap:12px; padding:12px;
  border:1px solid rgba(167,255,0,.16); border-radius:8px; background:rgba(13,19,19,.82);
}
.cart-item img { width:70px; height:70px; object-fit:cover; border-radius:7px; border:1px solid rgba(167,255,0,.16); background:#050808; }
.cart-item h3 { margin:0 0 6px; font-size:14px; line-height:1.25; }
.cart-item-price { color:var(--green); font-weight:950; }
.cart-item-actions { display:flex; align-items:center; gap:8px; margin-top:10px; }
.cart-qty-button {
  width:32px; height:32px; border:1px solid rgba(167,255,0,.26); border-radius:6px;
  background:#0d1313; color:#fff; font-weight:950;
}
.cart-remove-button {
  margin-left:auto; border:0; background:transparent; color:#ff7777; font-weight:900; font-size:12px; text-transform:uppercase;
}
.cart-drawer-footer { padding:18px 24px 24px; display:grid; gap:10px; border-top:1px solid rgba(167,255,0,.16); background:#050808; }
.cart-total-row { display:flex; align-items:center; justify-content:space-between; color:#d6ded8; font-weight:900; margin-bottom:4px; }
.cart-total-row strong { color:#fff; font-size:24px; }
.checkout-pickup-box {
  margin:18px 0; padding:18px; border:1px solid rgba(167,255,0,.22); border-radius:8px;
  background:linear-gradient(135deg,rgba(167,255,0,.08),rgba(5,8,8,.88));
  display:grid; gap:12px;
}
.checkout-pickup-box h2 { margin:0; font-size:22px; }
.checkout-pickup-box .admin-field { margin:0; }
.purchase-confirmation-box {
  margin:16px 0; padding:16px; border:1px solid rgba(167,255,0,.2); border-radius:8px;
  background:rgba(5,8,8,.62); display:grid; gap:12px;
}
.purchase-confirmation-box.compact { padding:13px; gap:10px; }
.purchase-confirmation-box h2 { margin:0; font-size:22px; }
.purchase-confirmation-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;
}
.purchase-confirmation-grid.compact { grid-template-columns:1fr; }
.purchase-confirmation-grid span {
  display:grid; gap:3px; padding:10px; border:1px solid rgba(255,255,255,.08);
  border-radius:8px; background:rgba(255,255,255,.025); color:#fff; font-weight:850;
}
.purchase-confirmation-grid small {
  color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:0; font-weight:900;
}
.purchase-owner-line { margin:0; color:#dce7e0; line-height:1.45; }
.purchase-owner-line strong { color:#fff; }
.purchase-owner-line span { display:block; color:var(--green); font-weight:900; margin-top:4px; }
.confirm-check {
  display:flex; gap:10px; align-items:flex-start; margin:4px 0 14px;
  color:#eef5ee; font-weight:850; line-height:1.35;
}
.confirm-check input { width:18px; height:18px; accent-color:var(--green); margin-top:1px; flex:0 0 auto; }
@media (max-width: 760px) {
  .purchase-confirmation-grid { grid-template-columns:1fr; }
  .purchase-confirmation-box,
  .checkout-pickup-box { padding:14px; }
  .purchase-confirmation-box h2,
  .checkout-pickup-box h2 { font-size:18px; }
}
.contact-hero {
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  margin-bottom:18px; padding:24px;
  background:
    radial-gradient(circle at 92% 18%, rgba(167,255,0,.14), transparent 28%),
    rgba(13,19,19,.86);
}
.contact-hero h2 { margin:6px 0 10px; font-size:30px; }
.contact-hero p { margin:0; color:#d6ded8; }
.branch-map-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.branch-map-card { display:grid; grid-template-rows:auto 1fr; padding:0; overflow:hidden; }
.branch-map-info { padding:22px; display:grid; gap:10px; align-content:start; }
.branch-map-info h2 { margin:0; font-size:24px; }
.branch-map-info p { margin:0; color:#d6ded8; }
.branch-map-info .btn { justify-self:start; margin-top:4px; }
.map-frame {
  min-height:360px; border-top:1px solid rgba(167,255,0,.18);
  background:#050808;
}
.map-frame iframe {
  width:100%; height:100%; min-height:360px; border:0; display:block;
  filter:grayscale(1) contrast(1.08) brightness(.82);
}
.admin-stats { display:grid; grid-template-columns:repeat(6,1fr); gap:14px; }
.stat-number { font-size:28px; font-weight:950; color:var(--green); }
.chart-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.chart-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.chart-filters .form-select { min-width:150px; padding:.68rem .85rem; }
.filter-pill {
  display:inline-flex; align-items:center; min-height:42px; padding:0 14px; border-radius:8px;
  border:1px solid var(--line); color:#fff; font-size:13px; font-weight:900; text-transform:uppercase;
}
.filter-pill.active { border-color:var(--green); color:#050808; background:var(--green); }
.user-filter-bar { display:flex; gap:10px; flex-wrap:wrap; margin:14px 0; }
.user-filter-bar .filter-pill { gap:10px; padding-inline:15px; }
.user-filter-bar .filter-pill span {
  display:inline-flex; align-items:center; gap:10px; color:inherit; font-size:13px; font-weight:950;
}
.user-filter-bar .filter-pill span::before {
  content:"|"; color:rgba(255,255,255,.35); font-weight:700;
}
.user-filter-bar .filter-activos { border-color:rgba(167,255,0,.34); }
.user-filter-bar .filter-inactivos { border-color:rgba(255,212,71,.42); }
.user-filter-bar .filter-caducados { border-color:rgba(255,69,69,.42); }
.user-filter-bar .filter-renovantes { border-color:rgba(75,174,255,.42); }
.user-filter-bar .filter-inactivos span { color:var(--warning); }
.user-filter-bar .filter-caducados span { color:#ff6464; }
.user-filter-bar .filter-renovantes span { color:#78c8ff; }
.user-filter-bar .filter-pill.active span { color:#050808; }
.user-filter-bar .filter-pill.active span::before { color:rgba(5,8,8,.38); }
.user-search-bar {
  display:grid;
  grid-template-columns:minmax(320px,1fr) minmax(118px,150px) auto;
  gap:12px;
  align-items:end;
  margin:16px 0 14px;
  padding:16px;
  border:1px solid rgba(167,255,0,.14);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(5,8,8,.58), rgba(5,8,8,.34));
}
.user-search-bar .admin-field { min-width:0; }
.user-search-bar .admin-field span { font-size:12px; color:#eef5ee; }
.user-search-bar .form-control,
.user-search-bar .form-select {
  min-height:44px;
  border-color:rgba(166,176,173,.24);
  background:#071010;
}
.user-page-field .form-select { text-align:left; }
.user-search-actions {
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:flex-end;
}
.user-search-actions .btn {
  min-height:44px;
  white-space:nowrap;
}
.user-list-summary {
  display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
  margin:12px 0; color:var(--muted); font-size:13px; font-weight:900;
}
.pagination-bar {
  display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
  margin-top:16px; padding-top:16px; border-top:1px solid rgba(167,255,0,.14);
}
.pagination-bar .btn.disabled {
  pointer-events:none; opacity:.45;
}
.pagination-pages { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pagination-pages .filter-pill {
  min-width:42px; justify-content:center; padding-inline:12px;
}
.sales-chart {
  height:260px; display:flex; align-items:end; gap:8px; padding:18px 4px 4px;
  border-top:1px solid rgba(167,255,0,.14);
}
.sales-day { flex:1; min-width:20px; height:100%; display:grid; grid-template-rows:26px 1fr 22px; align-items:end; text-align:center; gap:6px; }
.sales-day i {
  display:block; width:100%; min-height:4px; border-radius:6px 6px 2px 2px;
  background:linear-gradient(180deg,var(--green),#4f8f00); box-shadow:0 0 14px rgba(167,255,0,.18);
}
.sales-day small { color:var(--muted); font-size:11px; }
.sales-value { color:#fff; font-size:10px; opacity:0; transform:translateY(4px); transition:.18s ease; }
.sales-day:hover .sales-value { opacity:1; transform:translateY(0); }
.today-access-list { display:grid; gap:10px; max-height:360px; overflow:auto; padding-right:4px; }
.today-access-item {
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  border:1px solid rgba(255,255,255,.08); border-radius:8px; padding:12px;
  background:rgba(5,8,8,.5);
}
.today-access-item div:first-child { display:grid; gap:4px; }
.today-access-item span { color:var(--muted); font-size:13px; }
.access-time { display:grid; gap:6px; justify-items:end; }
.access-time strong { color:#fff; font-size:18px; }
.qr-display-page {
  min-height:100vh;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 20%, rgba(167,255,0,.12), transparent 34%),
    #020505;
  color:#fff;
  overflow:hidden;
}
.qr-display {
  width:min(980px, calc(100vw - 48px));
  min-height:min(680px, calc(100vh - 48px));
  display:grid;
  place-items:center;
  align-content:center;
  gap:18px;
  text-align:center;
  border:2px solid rgba(167,255,0,.18);
  border-radius:18px;
  padding:56px;
  background:linear-gradient(180deg, rgba(13,19,19,.94), rgba(4,7,7,.98));
  box-shadow:0 0 70px rgba(0,0,0,.5);
}
.qr-display img { width:min(260px, 54vw); }
.qr-display-kicker {
  color:var(--muted);
  font-size:18px;
  font-weight:900;
  letter-spacing:.08em;
  margin:0;
  text-transform:uppercase;
}
.qr-display h1 {
  max-width:860px;
  margin:0;
  font-size:clamp(48px, 8vw, 104px);
  line-height:.98;
  text-transform:uppercase;
}
.qr-display-user { display:grid; gap:8px; min-height:98px; }
.qr-display-user strong { font-size:clamp(28px, 4vw, 48px); }
.qr-display-user span { color:var(--muted); font-size:clamp(16px, 2vw, 24px); }
.qr-display-time { margin:0; color:#fff; font-size:clamp(18px, 2vw, 28px); font-weight:900; }
.qr-display.result-allowed { border-color:var(--green); box-shadow:0 0 90px rgba(167,255,0,.24); }
.qr-display.result-allowed h1 { color:var(--green); }
.qr-display.result-warning { border-color:var(--warning); box-shadow:0 0 90px rgba(255,212,71,.18); }
.qr-display.result-warning h1 { color:var(--warning); }
.qr-display.result-denied { border-color:var(--danger); box-shadow:0 0 90px rgba(255,69,69,.22); }
.qr-display.result-denied h1 { color:#ff6464; }
.qr-display.result-standby h1 { color:#fff; }
.admin-dashboard-shell {
  display:grid; grid-template-columns:260px minmax(0,1fr); gap:18px; align-items:start;
}
.admin-dashboard-main { min-width:0; }
.admin-side-modules {
  position:sticky; top:102px; display:grid; gap:12px; padding:16px;
  border:1px solid var(--line); border-radius:8px;
  background:linear-gradient(180deg, rgba(18,26,26,.94), rgba(8,12,12,.96));
}
.admin-side-modules h2 { margin:0; font-size:20px; }
.admin-side-modules p { margin:0; }
.admin-side-module-list { display:grid; gap:8px; }
.admin-side-module-list .admin-module {
  min-height:64px; padding:12px; gap:3px; border-color:rgba(167,255,0,.18);
}
.admin-side-module-list .admin-module strong { font-size:13px; }
.admin-side-module-list .admin-module span { font-size:12px; line-height:1.25; }
.admin-command-grid {
  display:grid; grid-template-columns:minmax(0,1.65fr) minmax(340px,.82fr); gap:16px; align-items:stretch;
}
.admin-chart-card { min-height:330px; }
.hourly-card { grid-column:1 / 2; }
.online-products-card {
  grid-column:1 / -1;
  display:grid;
  gap:16px;
}
.online-products-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.online-products-head h2 { margin:6px 0 4px; font-size:22px; }
.online-products-head p { margin:0; }
.online-products-kicker {
  display:inline-flex;
  width:max-content;
  padding:5px 10px;
  border:1px solid rgba(167,255,0,.32);
  border-radius:999px;
  color:var(--green);
  background:rgba(167,255,0,.08);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.online-products-list { display:grid; gap:10px; }
.online-products-empty {
  display:grid;
  gap:4px;
  padding:18px;
  border:1px dashed rgba(167,255,0,.24);
  border-radius:8px;
  background:rgba(167,255,0,.035);
}
.online-products-empty strong { color:#fff; }
.online-products-empty span { color:var(--muted); font-size:14px; }
.online-product-sale {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,1.8fr) minmax(170px,.75fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(167,255,0,.2);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(12,19,19,.88), rgba(4,8,8,.9));
}
.online-sale-title,
.online-sale-buyer div,
.online-sale-meta { display:grid; gap:4px; min-width:0; }
.online-sale-title span,
.online-sale-buyer small,
.online-sale-meta small {
  color:var(--muted);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.online-sale-title strong {
  color:#fff;
  font-size:15px;
  line-height:1.35;
}
.online-sale-buyer {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.online-sale-buyer div {
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:8px;
  background:rgba(255,255,255,.035);
}
.online-sale-buyer strong {
  color:#fff;
  font-size:13px;
  overflow-wrap:anywhere;
}
.online-sale-meta {
  justify-items:end;
  text-align:right;
}
.online-sale-meta strong {
  color:var(--green);
  font-size:22px;
  line-height:1;
}
.sales-summary-card {
  grid-row:1 / span 2; grid-column:2; display:grid; gap:16px; align-content:start;
  border-radius:8px; overflow:hidden; padding:0;
  background:linear-gradient(180deg, rgba(167,255,0,.16) 0, rgba(16,28,14,.92) 112px, #101713 112px, #090e0d 100%);
  border:1px solid rgba(167,255,0,.38);
  box-shadow:0 22px 60px rgba(0,0,0,.32);
}
.sales-summary-head { padding:22px 24px 0; text-align:center; }
.sales-summary-head h2 { text-align:left; margin:0 0 16px; font-size:20px; }
.sales-summary-head p { margin:0 0 4px; color:#d8ff9a; font-size:12px; font-weight:900; }
.sales-summary-head strong { display:block; color:#fff; font-size:clamp(36px,4vw,54px); line-height:1; }
.payment-breakdown {
  display:grid; gap:10px; margin:0 18px; padding:22px 18px 12px; border-radius:42px 42px 8px 8px;
  background:linear-gradient(180deg, rgba(8,14,13,.98), rgba(4,8,8,.98));
  border:1px solid rgba(167,255,0,.1);
}
.payment-row {
  display:grid; grid-template-columns:42px 1fr auto; gap:12px; align-items:center; min-height:48px;
}
.payment-row strong { color:#fff; display:block; font-size:14px; }
.payment-row small { color:var(--muted); font-size:12px; font-weight:900; }
.payment-row b { color:#fff; font-size:14px; }
.payment-icon {
  width:36px; height:36px; display:grid; place-items:center; border-radius:4px;
  color:#fff; font-weight:950; background:rgba(0,143,255,.18);
}
.payment-efectivo .payment-icon { color:#4bbcff; background:rgba(0,143,255,.16); }
.payment-debito .payment-icon { color:#38e89c; background:rgba(56,232,156,.14); }
.payment-credito .payment-icon { color:#ffd447; background:rgba(255,212,71,.16); }
.payment-transferencia .payment-icon { color:#ff5f8e; background:rgba(255,95,142,.15); }
.payment-mercado_pago .payment-icon { color:#8b6cff; background:rgba(139,108,255,.18); }
.sales-segments { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:0 18px; }
.sales-segments div {
  padding:10px; border:1px solid rgba(56,232,156,.78); background:rgba(56,232,156,.06);
}
.sales-segments strong { display:block; color:#38e89c; font-size:16px; }
.sales-segments span { color:#76ffd0; font-size:12px; font-weight:900; }
.sales-actions { display:grid; gap:8px; margin:0 18px 18px; }
.sales-actions .btn { width:100%; border-color:rgba(167,255,0,.25); background:rgba(167,255,0,.08); color:var(--green); }
.dashboard-sale-panel {
  margin:0 18px 18px;
  border:1px solid rgba(167,255,0,.24);
  border-radius:8px;
  background:linear-gradient(180deg, rgba(13,19,19,.98), rgba(5,8,8,.98));
}
.sale-product-head {
  display:grid;
  grid-template-columns:72px 1fr;
  gap:14px;
  align-items:center;
}
.sale-product-head img {
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:8px;
  border:1px solid rgba(167,255,0,.28);
  background:#050808;
}
.sale-product-head h3 { margin:0 0 4px; font-size:18px; }
.sale-product-head p { margin:0; color:var(--muted); font-size:13px; line-height:1.35; }
.sale-product-grid { display:grid; grid-template-columns:.65fr 1fr; gap:10px; }
.sale-product-results {
  display:grid;
  gap:8px;
  max-height:260px;
  overflow:auto;
}
.sale-product-result {
  width:100%;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:10px;
  align-items:center;
  text-align:left;
  padding:8px;
  border:1px solid rgba(167,255,0,.16);
  border-radius:8px;
  color:#fff;
  background:rgba(5,8,8,.72);
}
.sale-product-result:hover {
  border-color:rgba(167,255,0,.5);
  background:rgba(167,255,0,.08);
}
.sale-product-result img,
.sale-product-line img {
  width:44px;
  height:44px;
  object-fit:cover;
  border-radius:7px;
  border:1px solid rgba(167,255,0,.22);
  background:#050808;
}
.sale-product-result span,
.sale-product-line div {
  display:grid;
  gap:2px;
  min-width:0;
}
.sale-product-result strong,
.sale-product-line strong {
  color:#fff;
  font-size:13px;
  line-height:1.2;
}
.sale-product-result small,
.sale-product-line small {
  color:var(--muted);
  font-size:11px;
}
.sale-product-lines {
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(167,255,0,.14);
  border-radius:8px;
  background:rgba(5,8,8,.52);
}
.sale-product-line {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 70px auto 34px;
  gap:9px;
  align-items:center;
  padding:8px;
  border-radius:8px;
  background:rgba(255,255,255,.035);
}
.sale-product-line .form-control {
  min-height:38px;
  padding-inline:8px;
  text-align:center;
}
.sale-product-line b {
  color:var(--green);
  font-size:13px;
  white-space:nowrap;
}
.sale-product-total {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:13px 14px;
  border:1px solid rgba(167,255,0,.22);
  border-radius:8px;
  background:rgba(167,255,0,.06);
}
.sale-product-total span {
  color:#d6ded8;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.sale-product-total strong {
  color:var(--green);
  font-size:24px;
  line-height:1;
}
.monthly-chart {
  height:260px; display:grid; grid-template-columns:repeat(6,1fr); gap:14px; align-items:end;
  padding:12px 0 0; border-top:1px solid rgba(167,255,0,.13);
}
.monthly-bar { display:grid; grid-template-rows:1fr auto auto; gap:8px; height:100%; min-width:0; text-align:center; }
.monthly-stack {
  display:flex; align-items:end; justify-content:center; gap:5px; min-height:0; height:100%;
}
.monthly-stack i {
  display:block; width:28px; min-height:4px; border-radius:6px 6px 2px 2px;
}
.bar-membership { background:linear-gradient(180deg,#a7ff00,#4f8f00); box-shadow:0 0 16px rgba(167,255,0,.18); }
.bar-store { background:linear-gradient(180deg,#4bbcff,#1266cc); box-shadow:0 0 16px rgba(75,174,255,.16); }
.monthly-bar strong { color:#fff; font-size:11px; min-height:16px; }
.monthly-bar small { color:var(--muted); font-size:11px; font-weight:900; }
.chart-legend { display:flex; gap:14px; flex-wrap:wrap; margin-top:14px; color:var(--muted); font-size:12px; font-weight:900; }
.chart-legend span { display:inline-flex; align-items:center; gap:6px; }
.dot { width:9px; height:9px; border-radius:50%; display:inline-block; }
.dot-green { background:var(--green); }
.dot-blue { background:#4bbcff; }
.hourly-peak { display:grid; gap:2px; justify-items:end; }
.hourly-peak span { color:var(--muted); font-size:12px; font-weight:900; text-transform:uppercase; }
.hourly-peak strong { color:var(--green); font-size:16px; }
.hourly-chart {
  height:250px; display:flex; align-items:end; gap:7px; padding:12px 0 0;
  border-top:1px solid rgba(167,255,0,.13); overflow-x:auto;
}
.hourly-bar {
  flex:1; min-width:42px; height:100%; display:grid; grid-template-rows:22px 1fr 22px; gap:6px;
  align-items:end; text-align:center;
}
.hourly-bar span { color:#fff; font-size:11px; opacity:.82; }
.hourly-bar i {
  width:100%; min-height:4px; display:block; border-radius:5px 5px 2px 2px;
  background:linear-gradient(180deg,#ff3030,#c90012); box-shadow:0 0 14px rgba(255,48,48,.18);
}
.hourly-bar small { color:var(--muted); font-size:10px; font-weight:900; }
.admin-module-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.admin-module {
  display:grid; gap:6px; min-height:96px; padding:18px; border:1px solid rgba(167,255,0,.24);
  border-radius:8px; background:rgba(5,8,8,.52);
}
.admin-module strong { color:var(--green); text-transform:uppercase; }
.admin-module span { color:var(--muted); font-size:14px; }
.admin-table { min-width: 980px; width:100%; }
.card-dark:has(.admin-table) { overflow-x:auto; }
.admin-table .form-control,
.admin-table .form-select { min-width:120px; }
.admin-table textarea.form-control { min-width:240px; min-height:92px; }
.admin-table input[type="file"].form-control { min-width:220px; }
.admin-form-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.admin-field { display:grid; gap:7px; align-content:start; }
.admin-field span { color:#fff; font-size:13px; font-weight:900; text-transform:uppercase; }
.admin-field small { color:var(--muted); font-size:12px; line-height:1.35; }
.admin-field .form-control,
.admin-field .form-select { min-height:46px; }
.admin-payment-box {
  display:grid; gap:14px; margin-top:4px; padding:16px;
  border:1px solid rgba(255,212,71,.22); border-radius:8px;
  background:linear-gradient(180deg, rgba(255,212,71,.06), rgba(5,8,8,.42));
}
.admin-payment-box h3 {
  margin:0 0 4px; color:var(--warning); font-size:15px; text-transform:uppercase;
}
.admin-payment-box p { margin:0; }
.payment-plugin-card { max-width:980px; }
.payment-plugin-head {
  display:flex; justify-content:space-between; align-items:flex-start; gap:18px;
  padding-bottom:16px; border-bottom:1px solid rgba(167,255,0,.14);
}
.payment-plugin-head h2 { margin:10px 0 4px; font-size:30px; }
.payment-simple-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.payment-simple-grid .admin-field {
  padding:14px; border:1px solid rgba(255,255,255,.08); border-radius:8px; background:rgba(5,8,8,.45);
}
.payment-advanced { display:grid; gap:12px; }
.payment-advanced > .btn { justify-self:start; }
.payment-url-box {
  margin-top:14px; padding:16px; border:1px solid rgba(167,255,0,.18); border-radius:8px;
  background:rgba(167,255,0,.05);
}
.status-pill {
  display:inline-flex; align-items:center; min-height:28px; border:1px solid rgba(167,255,0,.28);
  border-radius:999px; padding:0 10px; color:var(--green); background:rgba(167,255,0,.07);
  font-size:12px; font-weight:900; text-transform:uppercase;
}
.status-success { border-color:rgba(167,255,0,.34); color:var(--green); background:rgba(167,255,0,.08); }
.status-danger { border-color:rgba(255,69,69,.42); color:#ff6464; background:rgba(255,69,69,.1); }
.status-warning { border-color:rgba(255,212,71,.48); color:var(--warning); background:rgba(255,212,71,.1); }
.status-neutral { border-color:rgba(166,176,173,.32); color:var(--muted); background:rgba(166,176,173,.08); }
.muted { color:var(--muted); font-size:13px; }
.membership-toolbar {
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px;
}
.membership-toolbar h2 { margin:0 0 4px; }
.membership-toolbar p { margin:0; }
.membership-list { display:grid; gap:10px; }
.membership-list-item {
  border:1px solid rgba(167,255,0,.16); border-radius:8px; background:rgba(5,8,8,.55);
  overflow:hidden;
}
.membership-row-main {
  display:grid; grid-template-columns:minmax(240px,1.35fr) minmax(460px,2fr) auto; gap:16px;
  align-items:center; padding:14px 16px;
}
.membership-title-block { display:grid; gap:5px; min-width:0; }
.membership-title-block strong { color:#fff; font-size:16px; }
.membership-title-block span {
  color:var(--muted); font-size:13px; line-height:1.35; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.membership-meta { display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.membership-meta > span:first-child { color:#fff; font-weight:950; min-width:92px; text-align:right; }
.membership-meta > span:nth-child(2) { color:var(--muted); font-weight:800; min-width:54px; }
.membership-actions { display:flex; gap:8px; justify-content:flex-end; }
.icon-action {
  width:40px; height:40px; display:inline-grid; place-items:center; border-radius:8px;
  border:1px solid rgba(167,255,0,.32); background:#071010; color:var(--green);
  font-weight:950; line-height:1; transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.icon-action:hover,
.icon-action.is-open { background:rgba(167,255,0,.12); border-color:var(--green); transform:translateY(-1px); }
.membership-panel {
  border-top:1px solid rgba(167,255,0,.14); padding:16px; background:rgba(0,0,0,.18);
}
.membership-panel[hidden] { display:none; }
.membership-create-panel { margin-bottom:16px; border:1px solid rgba(167,255,0,.18); border-radius:8px; }
.membership-edit-grid { display:grid; grid-template-columns:1.2fr .7fr .7fr .8fr .7fr; gap:12px; }
.membership-info-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:20px; }
.membership-info-grid h3 { margin:0 0 8px; font-size:15px; text-transform:uppercase; color:var(--green); }
.membership-info-grid p { margin:0; color:#fff; line-height:1.55; }
.benefit-list.compact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px 18px; margin:0; padding-left:18px; }
.benefit-list.compact li { color:#fff; }
.product-row-main {
  display:grid; grid-template-columns:72px minmax(220px,1.25fr) minmax(430px,2fr) auto; gap:16px;
  align-items:center; padding:14px 16px;
}
.user-row-main {
  display:grid; grid-template-columns:minmax(250px,1.05fr) 118px minmax(500px,2.15fr) auto; gap:16px;
  align-items:center; padding:18px 20px;
}
.user-role-stack {
  display:grid; justify-items:start; align-content:center; gap:8px; min-width:0;
}
.user-role-stack strong {
  color:#fff; font-size:13px; font-weight:950; text-transform:uppercase; letter-spacing:.02em;
}
.user-meta { display:grid; grid-template-columns:1fr 1.15fr minmax(96px,.45fr) auto; align-items:center; gap:10px; min-width:0; }
.user-meta > span:not(.status-pill) {
  display:grid; gap:3px; min-height:48px; align-content:center;
  color:#fff; font-size:13px; font-weight:850; padding:8px 11px; border-radius:8px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.user-meta small {
  color:var(--muted); font-size:10px; font-weight:950; text-transform:uppercase; letter-spacing:.04em;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.user-info-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.user-info-grid h3 { margin:0 0 10px; font-size:15px; text-transform:uppercase; color:var(--green); }
.user-info-grid p { margin:0 0 8px; color:#d6ded8; line-height:1.45; }
.user-info-grid strong { color:#fff; }
.admin-routines-layout {
  display:grid;
  grid-template-columns:minmax(280px,.34fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.routine-user-panel {
  position:sticky;
  top:102px;
  display:grid;
  gap:14px;
}
.routine-search {
  display:grid;
  gap:10px;
}
.routine-user-list {
  display:grid;
  gap:8px;
  max-height:690px;
  overflow:auto;
  padding-right:4px;
}
.routine-user-card {
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid rgba(167,255,0,.14);
  border-radius:8px;
  background:rgba(5,8,8,.48);
}
.routine-user-card.active,
.routine-user-card:hover {
  border-color:var(--green);
  background:rgba(167,255,0,.08);
}
.routine-user-card strong { color:#fff; font-size:14px; line-height:1.2; }
.routine-user-card span,
.routine-user-card small { color:var(--muted); font-size:12px; line-height:1.35; }
.routine-admin-main {
  min-width:0;
}
.routine-health-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.routine-list {
  display:grid;
  gap:10px;
  margin-top:14px;
}
.routine-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:14px;
  border:1px solid rgba(167,255,0,.14);
  border-radius:8px;
  background:rgba(5,8,8,.48);
}
.routine-card > div {
  display:grid;
  gap:4px;
  min-width:0;
}
.routine-card strong {
  color:#fff;
  font-size:15px;
}
.routine-card span:not(.status-pill) {
  color:var(--muted);
  font-size:13px;
}
.profile-subpage-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:22px;
}
.profile-subpage-head h1 {
  margin:0;
  font-size:clamp(34px,4vw,54px);
  line-height:1;
  text-transform:uppercase;
}
.profile-info-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.health-metric-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.health-metric-grid > div {
  min-height:92px;
  display:grid;
  align-content:center;
  gap:6px;
  padding:14px;
  border:1px solid rgba(167,255,0,.16);
  border-radius:8px;
  background:rgba(167,255,0,.06);
}
.health-metric-grid span,
.routine-frequency span {
  color:var(--muted);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}
.health-metric-grid strong {
  color:var(--green);
  font-size:26px;
  line-height:1;
}
.profile-notes {
  min-height:150px;
  margin:0;
  color:#d6ded8;
  line-height:1.7;
  white-space:normal;
}
.member-routine-list {
  display:grid;
  gap:18px;
}
.member-routine-card {
  display:grid;
  gap:16px;
}
.member-routine-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(167,255,0,.14);
}
.member-routine-head h2 {
  margin:12px 0 6px;
  font-size:26px;
}
.routine-frequency {
  min-width:108px;
  min-height:86px;
  display:grid;
  place-items:center;
  gap:4px;
  padding:12px;
  border:1px solid rgba(167,255,0,.18);
  border-radius:8px;
  background:rgba(167,255,0,.07);
  text-align:center;
}
.routine-frequency strong {
  color:var(--green);
  font-size:32px;
  line-height:1;
}
.routine-text {
  padding:16px;
  border-radius:8px;
  background:#071010;
  border:1px solid rgba(255,255,255,.08);
  color:#eef5ee;
  line-height:1.75;
}
.routine-note {
  padding:14px;
  border-left:3px solid var(--green);
  border-radius:8px;
  background:rgba(167,255,0,.07);
}
.routine-note strong {
  color:var(--green);
  text-transform:uppercase;
  font-size:12px;
}
.routine-note p {
  margin:6px 0 0;
  color:#d6ded8;
  line-height:1.6;
}
.product-edit-grid { display:grid; grid-template-columns:1.15fr .9fr .7fr .6fr .8fr .7fr; gap:12px; }
.admin-check {
  display:flex; align-items:center; gap:10px; color:#d6ded8; font-weight:800;
  padding:12px 0 2px;
}
.admin-check input { width:18px; height:18px; accent-color:var(--green); }
.product-info-grid { display:grid; grid-template-columns:180px 1fr; gap:18px; align-items:start; }
.product-info-grid h3 { margin:0 0 8px; color:#fff; }
.product-info-grid p { margin:0; color:#d6ded8; line-height:1.55; }
.product-info-image {
  width:180px; aspect-ratio:1; object-fit:cover; border-radius:8px;
  border:1px solid rgba(167,255,0,.22); background:#050808;
}
.product-delete-form { margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,69,69,.24); }
.product-thumb { width:64px; height:64px; object-fit:cover; border-radius:8px; border:1px solid rgba(167,255,0,.24); background:#050808; }
.action-stack { display:grid; gap:8px; min-width:120px; }
.footer { border-top:1px solid rgba(167,255,0,.16); padding:34px 0; color:var(--muted); background:#030606; }
.footer-grid {
  display:grid;
  grid-template-columns:minmax(180px,1.1fr) repeat(4,minmax(130px,auto));
  gap:18px;
  align-items:center;
}
.footer-item {
  display:grid;
  gap:4px;
  line-height:1.45;
}
.footer-item strong {
  color:#fff;
  font-size:12px;
  text-transform:uppercase;
}
.footer-item a { color:#dfe6de; }
.footer-item a:hover { color:var(--green); }
.footer-credit {
  width:min(100% - 32px, 1560px);
  margin:22px auto 0;
  padding-top:18px;
  border-top:1px solid rgba(167,255,0,.1);
  text-align:center;
  color:#7f8c88;
  font-size:12px;
  font-weight:800;
}
.footer-credit a { color:var(--green); }

@media (min-width: 901px) {
  .footer-grid {
    width:min(100% - 64px, 1480px);
    margin-inline:auto;
    grid-template-columns:240px 160px minmax(360px,1fr) 180px 230px;
    justify-content:center;
    justify-items:start;
    column-gap:34px;
  }
  .footer .logo { justify-self:start; }
  .footer-item:nth-child(2),
  .footer-item:nth-child(3) { justify-self:center; }
  .footer-credit { width:min(100% - 64px, 1480px); }
}

@media (min-width: 901px) and (max-width: 1240px) {
  .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .site-shell > .navbar .container,
  .site-shell main .container,
  .site-shell > .footer .container,
  .hero .container { width:min(100% - 24px, 1560px); }
  .admin-layout .admin-container { width:min(100% - 20px, 1560px); }
  .admin-layout .nav-inner { gap:12px; }
  .nav-inner { flex-wrap:wrap; padding:14px 0; }
  .nav-links { order:3; width:100%; overflow:auto; padding-bottom:6px; }
  .benefit-grid,.gallery-grid,.product-grid,.admin-stats,.admin-module-grid { grid-template-columns:1fr 1fr; }
  .store-filter-grid { grid-template-columns:repeat(3,minmax(120px,1fr)); max-width:620px; }
  .plans-grid { grid-template-columns:1fr 1fr; }
  .home-plans-grid { grid-template-columns:1fr 1fr; max-width:820px; }
  .membership-buy-grid { grid-template-columns:1fr 1fr; }
  .membership-note-row { grid-template-columns:1fr; }
  .special-plan-item { grid-template-columns:1fr; align-items:start; }
  .special-plan-meta { justify-content:flex-start; }
  .training-feature-inner { grid-template-columns:1fr; }
  .admin-form-grid { grid-template-columns:1fr 1fr; }
  .user-search-bar { grid-template-columns:1fr 140px; }
  .user-search-actions { grid-column:1 / -1; justify-content:flex-start; }
  .user-search-actions .btn { min-width:132px; }
  .admin-dashboard-shell { grid-template-columns:1fr; }
  .admin-side-modules { position:static; }
  .admin-side-module-list { grid-template-columns:repeat(4,1fr); }
  .branch-map-grid { grid-template-columns:1fr; }
  .contact-hero { align-items:flex-start; flex-direction:column; }
  .admin-command-grid { grid-template-columns:1fr; }
  .sales-summary-card { grid-column:auto; grid-row:auto; }
  .hourly-card { grid-column:auto; }
  .online-products-card { grid-column:auto; }
  .online-product-sale { grid-template-columns:1fr; align-items:start; }
  .online-sale-meta { justify-items:start; text-align:left; }
  .membership-toolbar { flex-direction:column; }
  .membership-row-main { grid-template-columns:1fr; align-items:start; }
  .membership-meta { justify-content:flex-start; }
  .membership-meta > span:first-child { text-align:left; }
  .membership-actions { justify-content:flex-start; }
  .membership-edit-grid { grid-template-columns:1fr 1fr; }
  .user-row-main { grid-template-columns:1fr; align-items:start; }
  .user-meta { grid-template-columns:1fr 1fr; width:100%; }
  .user-role-stack { grid-template-columns:auto auto; align-items:center; }
  .user-info-grid { grid-template-columns:1fr 1fr; }
  .payment-simple-grid { grid-template-columns:1fr; }
  .product-row-main { grid-template-columns:72px 1fr; }
  .product-row-main .membership-meta,
  .product-row-main .membership-actions { grid-column:1 / -1; justify-content:flex-start; }
  .product-edit-grid { grid-template-columns:1fr 1fr; }
  .auth-grid,.dashboard-grid { grid-template-columns:1fr; }
  .chart-header { flex-direction:column; }
  .hourly-peak { justify-items:start; }
  .chart-filters { justify-content:flex-start; }
  .hero { min-height:560px; background-position:center; }
  .hero-brand { right:4%; top:35%; width:min(300px,46vw); opacity:.32; }
  .logo img { width: 146px; }
}

@media (max-width: 560px) {
  .site-shell > .navbar .container,
  .site-shell main .container,
  .site-shell > .footer .container,
  .hero .container { width:min(100% - 18px, 1560px); }
  body { padding-bottom:76px; }
  .navbar {
    position:sticky;
    border-bottom-color:rgba(167,255,0,.22);
  }
  .nav-inner {
    min-height:auto;
    padding:22px 0 10px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px 12px;
  }
  .logo {
    justify-self:start;
    align-self:center;
    transform:translateY(8px);
  }
  .logo img {
    width:136px;
    max-height:54px;
  }
  .mobile-menu-toggle {
    width:44px;
    height:42px;
    display:grid;
    place-content:center;
    gap:5px;
    justify-self:end;
    align-self:center;
    transform:translateY(8px);
    border:1px solid rgba(167,255,0,.24);
    border-radius:8px;
    background:rgba(13,19,19,.88);
    color:var(--green);
  }
  .mobile-menu-toggle span {
    display:block;
    width:19px;
    height:2px;
    border-radius:99px;
    background:var(--green);
    box-shadow:0 0 10px rgba(167,255,0,.28);
  }
  .nav-links {
    grid-column:1 / -1;
    width:100%;
    max-height:0;
    overflow:hidden;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:0;
    border-top:1px solid transparent;
    transition:max-height .22s ease, padding .22s ease, border-color .22s ease;
  }
  .navbar.is-menu-open .nav-links {
    max-height:360px;
    padding:10px 0 2px;
    border-color:rgba(167,255,0,.16);
  }
  .nav-links a {
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 10px;
    border:1px solid rgba(167,255,0,.13);
    border-radius:8px;
    background:rgba(9,14,14,.82);
    white-space:nowrap;
  }
  .nav-links a.active,
  .nav-links a:hover {
    border-color:rgba(167,255,0,.55);
    background:rgba(167,255,0,.08);
  }
  .mobile-only-nav { display:flex; }
  .nav-actions {
    display:block !important;
    grid-column:1 / -1;
    min-height:0;
  }
  .nav-actions .btn:not(.header-plan) {
    display:none;
  }
  .nav-actions .header-plan {
    display:none;
  }
  .floating-plan-link {
    display:inline-flex !important;
    position:fixed !important;
    z-index:90;
    right:14px !important;
    bottom:max(14px, env(safe-area-inset-bottom)) !important;
    top:auto !important;
    left:auto !important;
    width:auto;
    min-width:154px;
    min-height:48px;
    padding:0 18px;
    border-radius:999px;
    box-shadow:0 12px 34px rgba(0,0,0,.42), 0 0 24px rgba(167,255,0,.28);
  }
  .floating-plan-link::before {
    content:"+";
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#061006;
    background:rgba(255,255,255,.35);
    font-size:18px;
    line-height:1;
  }
  .admin-layout .admin-container { width:min(100% - 18px, 1560px); }
  .admin-layout .admin-section { padding:28px 0; }
  .benefit-grid,.gallery-grid,.product-grid,.admin-stats,.admin-module-grid { grid-template-columns:1fr; }
  .neon-strip {
    background:#050808;
    color:#fff;
    padding:20px 0;
  }
  .neon-strip .benefit-grid {
    gap:10px;
  }
  .neon-strip span {
    min-height:46px;
    display:flex;
    align-items:center;
    padding:12px 14px;
    border:1px solid rgba(167,255,0,.22);
    border-radius:8px;
    background:linear-gradient(180deg, rgba(18,26,26,.95), rgba(8,12,12,.98));
    color:#dfe6de;
  }
  .store-filter-grid { grid-template-columns:1fr 1fr; max-width:420px; }
  .store-filter-grid .benefit-card { min-height:62px; }
  .store-toolbar {
    width:min(100%, 420px);
    flex-direction:column;
    align-items:stretch;
    text-align:center;
  }
  .store-page-form {
    justify-content:center;
  }
  .email-verification-row {
    grid-template-columns:1fr;
  }
  .email-verification-row .btn {
    width:100%;
  }
  .user-search-bar { grid-template-columns:1fr; }
  .user-search-actions { grid-column:auto; display:grid; grid-template-columns:1fr; }
  .user-search-actions .btn { width:100%; }
  .pagination-bar { justify-content:center; }
  .pagination-pages { justify-content:center; }
  .admin-side-module-list { grid-template-columns:1fr; }
  .monthly-chart { grid-template-columns:repeat(3,1fr); height:auto; min-height:360px; }
  .monthly-stack { height:190px; }
  .sales-segments { grid-template-columns:1fr; }
  .sale-product-grid { grid-template-columns:1fr; }
  .sale-product-line {
    grid-template-columns:44px 1fr 64px;
  }
  .sale-product-line b,
  .sale-product-line .icon-action {
    grid-column:auto;
  }
  .plans-grid { grid-template-columns:1fr; }
  .home-plans-grid { grid-template-columns:1fr; max-width:420px; }
  .memberships-section { padding-top:14px; }
  .memberships-section .section-title {
    font-size:28px;
    margin-bottom:8px;
  }
  .memberships-section .section-subtitle {
    max-width:330px;
    margin:0 auto 18px;
    font-size:14px;
    line-height:1.45;
  }
  .membership-buy-grid {
    grid-template-columns:1fr;
    gap:12px;
  }
  .membership-buy-card {
    padding:16px;
    gap:11px;
    box-shadow:0 12px 34px rgba(0,0,0,.24);
  }
  .membership-buy-head {
    gap:10px;
  }
  .membership-buy-head h2 {
    font-size:18px;
    margin-top:9px;
  }
  .membership-buy-card > p {
    font-size:13px;
  }
  .membership-duration {
    min-width:64px;
    min-height:30px;
    font-size:11px;
  }
  .membership-price-row {
    padding:11px 0;
  }
  .membership-price-row strong { font-size:28px; }
  .membership-benefits summary {
    min-height:40px;
    font-size:11px;
  }
  .membership-note-row {
    margin-top:12px;
  }
  .membership-note-row > div {
    min-height:auto;
    padding:13px;
  }
  .special-plans-section {
    margin-top:28px;
    padding-top:20px;
  }
  .special-plans-section h2 { font-size:24px; }
  .plans-grid .card-dark { padding:18px; }
  .training-feature-image { aspect-ratio:1080 / 1350; max-height:none; justify-self:center; }
  .admin-form-grid { grid-template-columns:1fr; }
  .membership-edit-grid,.membership-info-grid,.benefit-list.compact,.product-edit-grid,.product-info-grid,.user-info-grid { grid-template-columns:1fr; }
  .user-row-main { padding:12px; }
  .user-meta { grid-template-columns:1fr; }
  .user-role-stack { grid-template-columns:1fr; }
  .payment-plugin-head { flex-direction:column; }
  .product-row-main { grid-template-columns:1fr; }
  .product-info-image { width:100%; max-width:220px; }
  .membership-row-main { padding:12px; }
  .membership-panel { padding:12px; }
  .sales-chart { overflow-x:auto; padding-bottom:10px; }
  .sales-day { min-width:42px; }
  .today-access-item { align-items:flex-start; flex-direction:column; }
  .access-time { justify-items:start; }
  .hero h1 { font-size:46px; }
  .maintenance-screen { padding:18px; }
  .maintenance-card { padding:28px 20px; }
  .maintenance-card img { width:150px; }
  .maintenance-actions .btn { width:100%; }
  .contact-hero { padding:18px; }
  .map-frame,
  .map-frame iframe { min-height:300px; }
  .btn { width:100%; }
  .navbar .btn,
  .floating-plan-link { width:auto; }
  .footer {
    padding:30px 0 26px;
  }
  .footer-grid {
    width:min(100% - 36px, 420px) !important;
    grid-template-columns:1fr;
    justify-items:center;
    text-align:center;
    gap:16px;
  }
  .footer .logo {
    justify-self:center;
  }
  .footer .logo img {
    width:178px;
    max-height:76px;
  }
  .footer-item {
    justify-items:center;
    max-width:330px;
    gap:3px;
  }
  .footer-item strong {
    color:var(--green);
    letter-spacing:0;
  }
  .footer-credit {
    width:min(100% - 36px, 330px);
    margin-top:18px;
    padding-top:16px;
  }
}

@media (max-width: 760px) {
  .admin-layout {
    overflow-x:hidden;
    background:#050808;
  }
  .admin-layout .navbar {
    position:sticky;
    top:0;
    z-index:80;
    background:rgba(5,8,8,.98);
  }
  .admin-layout .admin-container {
    width:100%;
    max-width:100%;
    padding-inline:10px;
  }
  .admin-layout .nav-inner {
    min-height:78px;
    display:grid;
    grid-template-columns:1fr auto auto;
    align-items:center;
    gap:8px;
    padding:10px 0;
  }
  .admin-layout .logo {
    transform:none;
    min-width:0;
  }
  .admin-layout .logo img {
    width:108px;
    max-height:46px;
    object-fit:contain;
  }
  .admin-layout .logo span {
    font-size:13px;
    white-space:nowrap;
  }
  .admin-layout .mobile-menu-toggle {
    display:grid;
    width:42px;
    height:40px;
    transform:none;
    order:2;
  }
  .admin-layout .nav-inner > .btn {
    order:3;
    width:auto;
    min-height:40px;
    padding:0 12px;
    font-size:11px;
    white-space:nowrap;
  }
  .admin-layout .nav-links {
    order:4;
    grid-column:1 / -1;
    grid-template-columns:1fr 1fr;
    max-height:0;
    overflow:hidden;
    gap:8px;
    padding:0;
    border-top:1px solid transparent;
    transition:max-height .22s ease, padding .22s ease, border-color .22s ease;
  }
  .admin-layout .navbar.is-menu-open .nav-links {
    max-height:430px;
    padding:10px 0 2px;
    border-color:rgba(167,255,0,.16);
  }
  .admin-layout .nav-links a {
    min-height:40px;
    padding:0 8px;
    border:1px solid rgba(167,255,0,.16);
    border-radius:8px;
    background:rgba(10,15,15,.86);
    font-size:11px;
    text-align:center;
  }
  .admin-layout .admin-section {
    width:100%;
    padding:20px 0 34px;
    overflow:hidden;
  }
  .admin-layout .section-title {
    font-size:26px;
    line-height:1.05;
    margin:6px 0 16px;
  }
  .admin-dashboard-shell,
  .admin-dashboard-main,
  .admin-command-grid,
  .dashboard-grid {
    width:100%;
    max-width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
  .admin-side-modules,
  .admin-chart-card,
  .sales-summary-card,
  .card-dark,
  .reception-result {
    width:100%;
    max-width:100%;
    min-width:0;
    border-radius:10px;
  }
  .admin-side-modules {
    position:static;
    padding:12px;
    gap:8px;
  }
  .admin-side-modules h2 {
    font-size:17px;
  }
  .admin-side-modules p {
    display:none;
  }
  .admin-side-module-list {
    display:flex;
    grid-template-columns:none;
    gap:8px;
    overflow-x:auto;
    padding:2px 2px 8px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .admin-side-module-list::-webkit-scrollbar,
  .monthly-chart::-webkit-scrollbar,
  .hourly-chart::-webkit-scrollbar {
    height:4px;
  }
  .admin-side-module-list::-webkit-scrollbar-thumb,
  .monthly-chart::-webkit-scrollbar-thumb,
  .hourly-chart::-webkit-scrollbar-thumb {
    background:rgba(167,255,0,.38);
    border-radius:99px;
  }
  .admin-side-module-list .admin-module {
    flex:0 0 134px;
    min-height:50px;
    padding:9px 10px;
    scroll-snap-align:start;
  }
  .admin-side-module-list .admin-module strong {
    font-size:10px;
  }
  .admin-side-module-list .admin-module span {
    font-size:9px;
    line-height:1.2;
  }
  .admin-stats {
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .admin-stats .card-dark {
    min-height:92px;
    padding:14px;
  }
  .admin-stats .stat-number {
    font-size:28px;
  }
  .admin-stats span {
    font-size:13px;
    line-height:1.25;
  }
  .chart-header {
    gap:10px;
  }
  .chart-header h2,
  .sales-summary-head h2 {
    font-size:20px;
  }
  .chart-header .stat-number {
    font-size:28px;
  }
  .admin-chart-card {
    min-height:auto;
    padding:16px;
    overflow:hidden;
  }
  .monthly-chart {
    height:auto;
    min-height:0;
    display:flex;
    grid-template-columns:none;
    overflow-x:auto;
    gap:12px;
    padding:12px 2px 10px;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .monthly-bar {
    flex:0 0 118px;
    height:230px;
    scroll-snap-align:start;
  }
  .monthly-stack {
    height:150px;
  }
  .monthly-stack i {
    width:20px;
  }
  .monthly-bar strong,
  .monthly-bar small {
    font-size:10px;
  }
  .sales-summary-card {
    gap:12px;
    background:linear-gradient(180deg, rgba(167,255,0,.14) 0, rgba(16,28,14,.92) 86px, #101713 86px, #090e0d 100%);
  }
  .sales-summary-head {
    padding:16px 16px 0;
  }
  .sales-summary-head h2 {
    margin-bottom:10px;
  }
  .sales-summary-head strong {
    font-size:34px;
  }
  .payment-breakdown {
    margin:0 12px;
    padding:16px 12px 10px;
    border-radius:26px 26px 8px 8px;
  }
  .payment-row {
    grid-template-columns:36px 1fr auto;
    min-height:42px;
    gap:10px;
  }
  .payment-icon {
    width:30px;
    height:30px;
  }
  .sales-segments {
    grid-template-columns:1fr;
    margin:0 12px;
  }
  .sales-actions {
    margin:0 12px 12px;
  }
  .hourly-chart {
    height:190px;
    gap:6px;
    overflow-x:auto;
    padding-bottom:6px;
  }
  .hourly-bar {
    min-width:38px;
    grid-template-rows:20px 1fr 20px;
  }
  .hourly-bar small {
    font-size:9px;
  }
  #qr-access {
    grid-template-columns:1fr;
  }
  .qr-scan-form {
    padding:18px;
  }
  .qr-camera-actions {
    display:grid;
    grid-template-columns:1fr;
  }
  .qr-camera-actions .btn,
  .qr-submit-fallback {
    width:100%;
  }
  .reception-result {
    min-height:210px;
    padding:20px;
  }
  .result-word {
    font-size:clamp(30px, 9vw, 44px);
    line-height:1.05;
  }
  .dashboard-sale-panel {
    margin:0 12px 12px;
  }
  .sale-product-head {
    grid-template-columns:54px 1fr;
  }
  .sale-product-head img {
    width:54px;
    height:54px;
  }
  .sale-product-line {
    grid-template-columns:38px minmax(0,1fr) 58px;
    gap:7px;
  }
  .sale-product-line img {
    width:38px;
    height:38px;
  }
  .sale-product-line b,
  .sale-product-line .icon-action {
    grid-column:2 / -1;
    justify-self:start;
  }
  .card-dark:has(.user-search-bar) {
    padding:16px 14px;
  }
  .card-dark:has(.user-search-bar) > h2 {
    font-size:28px;
    line-height:1.08;
    margin-bottom:12px;
  }
  .user-search-bar {
    grid-template-columns:1fr 92px;
    gap:8px;
    padding:10px;
    margin:10px 0 12px;
  }
  .user-search-field {
    grid-column:1 / -1;
  }
  .user-search-bar .admin-field span {
    font-size:10px;
    letter-spacing:.04em;
  }
  .user-search-bar .form-control,
  .user-search-bar .form-select,
  .user-search-actions .btn {
    min-height:38px;
    font-size:12px;
    border-radius:8px;
  }
  .user-search-actions {
    grid-column:auto;
    display:flex;
  }
  .user-search-actions .btn {
    width:100%;
    padding:0 12px;
  }
  .user-filter-bar {
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:8px;
    margin:10px -2px 8px;
    padding:2px 2px 8px;
    -webkit-overflow-scrolling:touch;
  }
  .user-filter-bar::-webkit-scrollbar {
    height:4px;
  }
  .user-filter-bar::-webkit-scrollbar-thumb {
    background:rgba(167,255,0,.38);
    border-radius:99px;
  }
  .user-filter-bar .filter-pill {
    flex:0 0 auto;
    min-height:36px;
    padding:0 11px;
    gap:8px;
    border-radius:10px;
    font-size:11px;
    white-space:nowrap;
  }
  .user-filter-bar .filter-pill span {
    font-size:12px;
  }
  .card-dark:has(.user-search-bar) > .muted {
    font-size:12px;
    line-height:1.4;
    margin-bottom:10px;
  }
  .user-list-summary {
    font-size:11px;
    margin:8px 0 10px;
  }
  .membership-list:has(.user-row-main) {
    gap:8px;
  }
  .membership-list-item:has(.user-row-main) {
    border-radius:10px;
  }
  .user-row-main {
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding:11px;
    align-items:start;
  }
  .user-row-main .membership-title-block {
    min-width:0;
  }
  .user-row-main .membership-title-block strong {
    display:block;
    font-size:15px;
    line-height:1.18;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .user-row-main .membership-title-block span {
    display:block;
    font-size:11px;
    line-height:1.35;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#aeb8b4;
  }
  .user-role-stack {
    justify-items:end;
    gap:5px;
    min-width:72px;
  }
  .user-role-stack .status-pill {
    min-height:26px;
    padding:0 9px;
    font-size:10px;
    border-radius:999px;
  }
  .user-role-stack strong {
    font-size:10px;
  }
  .user-meta {
    grid-column:1 / -1;
    grid-template-columns:1fr 1fr;
    gap:7px;
    width:100%;
  }
  .user-meta > span:not(.status-pill) {
    min-height:40px;
    padding:7px 9px;
    font-size:11px;
    line-height:1.15;
    border-radius:8px;
  }
  .user-meta small {
    font-size:8px;
    letter-spacing:.06em;
  }
  .user-meta > .status-pill {
    grid-column:1 / -1;
    justify-content:center;
    width:100%;
    min-height:28px;
    font-size:10px;
  }
  .user-row-main .membership-actions {
    grid-column:1 / -1;
    justify-content:flex-end;
    gap:8px;
    margin-top:0;
  }
  .user-row-main .icon-action {
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:8px;
    font-size:13px;
  }
  .pagination-bar {
    gap:8px;
  }
  .pagination-pages {
    order:3;
    width:100%;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:4px;
  }
  .pagination-bar .btn {
    flex:1;
    min-height:38px;
    font-size:11px;
  }
  .admin-routines-layout,
  .profile-info-grid {
    grid-template-columns:1fr;
  }
  .routine-user-panel {
    position:static;
    padding:14px;
  }
  .routine-user-list {
    display:flex;
    overflow-x:auto;
    max-height:none;
    padding:2px 2px 8px;
    gap:8px;
  }
  .routine-user-card {
    flex:0 0 230px;
    padding:10px;
  }
  .routine-health-grid,
  .health-metric-grid {
    grid-template-columns:1fr;
  }
  .routine-card {
    grid-template-columns:1fr auto;
    gap:8px;
    padding:11px;
  }
  .routine-card .icon-action {
    grid-column:2;
  }
  .profile-subpage-head {
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }
  .profile-subpage-head .btn {
    width:100%;
  }
  .profile-subpage-head h1 {
    font-size:32px;
  }
  .health-metric-grid > div {
    min-height:74px;
  }
  .member-routine-head {
    flex-direction:column;
  }
  .routine-frequency {
    width:100%;
    min-height:72px;
  }
  .routine-text {
    padding:12px;
    font-size:14px;
  }
}
