:root {
    --bg:#f4f0e8;
    --paper:#fffdf8;
    --ink:#161616;
    --muted:#706a62;
    --line:#d7d0c5;
    --black:#111111;
    --gold:#b59158;
    --danger:#c84842;
    --shadow:0 14px 34px rgba(24,21,17,.09);
  }

  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    margin:0;
    background:#d2cec7;
    color:var(--ink);
    font-family:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }
  button, input, select, textarea { font:inherit; }
  button { cursor:pointer; }

  .phone {
    width:min(100%,460px);
    min-height:100vh;
    margin:auto;
    background:
      radial-gradient(circle at 10% 0%, rgba(255,255,255,.78), transparent 28%),
      var(--bg);
    box-shadow:0 0 50px rgba(0,0,0,.18);
    padding-bottom:100px;
  }

  .top {
    position:sticky;
    top:0;
    z-index:20;
    display:grid;
    grid-template-columns:48px 1fr 48px;
    align-items:center;
    padding:14px 18px 8px;
    background:rgba(243,236,223,.92);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(211,199,181,.55);
  }

  .icon {
    width:42px;height:42px;border:0;background:transparent;border-radius:50%;
    display:grid;place-items:center;font-size:23px;color:var(--ink);
  }
  .icon:hover { background:rgba(0,0,0,.05); }

  .brand { display:flex;justify-content:center; }
  .brand img {
    width:88px;height:88px;object-fit:cover;border-radius:50%;
    mix-blend-mode:multiply;
  }

  main { padding:0 18px 28px; }

  .intro {
    text-align:center;
    padding:8px 12px 18px;
  }
  .eyebrow {
    margin:0 0 7px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.18em;
  }
  .intro h1 {
    margin:0;
    font-family:Georgia, "Times New Roman", serif;
    font-size:35px;
    line-height:1.02;
    font-weight:700;
  }
  .intro p:last-child {
    margin:10px auto 0;
    max-width:330px;
    color:var(--muted);
    font-size:14px;
    line-height:1.5;
  }

  .section-head {
    display:flex;align-items:end;justify-content:space-between;
    gap:14px;margin:10px 0 10px;
  }
  .section-head h2 {
    margin:0;font-family:Georgia,serif;font-size:25px;
  }
  .section-head button {
    border:0;background:transparent;font-weight:800;font-size:12px;color:var(--muted);
  }

  .feature-grid { display:grid;grid-template-columns:1.05fr .95fr;gap:12px; }
  .feature {
    position:relative;overflow:hidden;
    min-height:245px;border-radius:24px;padding:18px;
    background:var(--black);color:white;box-shadow:var(--shadow);
    display:flex;flex-direction:column;
  }
  .feature:before {
    content:"";
    position:absolute;inset:0;
    background:
      radial-gradient(circle at 30% 16%, rgba(255,255,255,.16), transparent 28%),
      linear-gradient(155deg, transparent 35%, rgba(195,154,90,.12));
    pointer-events:none;
  }
  .feature > * { position:relative;z-index:1; }
  .pill {
    align-self:flex-start;
    border:1px solid rgba(255,255,255,.33);
    border-radius:999px;
    padding:6px 9px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    display:flex;align-items:center;gap:6px;
  }
  .dot { width:7px;height:7px;background:#f44343;border-radius:50%;box-shadow:0 0 10px #f44343; }
  .feature .spacer { flex:1; }
  .feature .kicker { color:#d4b57b;font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:5px; }
  .feature h3 { margin:0 0 7px;font-size:23px;line-height:1.05; }
  .feature p { margin:0;color:#d4d4d4;font-size:12px;line-height:1.45; }
  .feature .cta {
    margin-top:15px;border:0;background:var(--bg);color:var(--ink);
    border-radius:14px;padding:12px 13px;font-weight:900;width:100%;
  }

  .quick {
    display:grid;grid-template-columns:repeat(4,1fr);
    margin:14px 0;padding:10px 5px;
    border:1px solid var(--line);border-radius:20px;
    background:rgba(255,255,255,.28);
  }
  .quick button {
    border:0;background:transparent;padding:7px 3px;
    display:flex;flex-direction:column;align-items:center;gap:6px;
    font-size:10px;font-weight:800;color:var(--ink);
  }
  .quick .qicon { font-size:22px;line-height:1; }

  .banner {
    position:relative;overflow:hidden;
    min-height:175px;border-radius:24px;
    background:linear-gradient(110deg,#0e0e0e,#241b13);
    color:white;padding:20px;
    display:flex;align-items:flex-end;
    box-shadow:var(--shadow);
  }
  .banner:after {
    content:"";
    position:absolute;
    width:190px;height:190px;border-radius:50%;
    right:-55px;top:-40px;
    border:22px solid rgba(195,154,90,.15);
  }
  .banner .copy { position:relative;z-index:1;max-width:74%; }
  .banner .mini { font-size:10px;letter-spacing:.16em;color:#d0b178;font-weight:900; }
  .banner h3 { margin:7px 0 5px;font-family:Georgia,serif;font-size:29px;line-height:1.05; }
  .banner p { margin:0;color:#ddd;font-size:12px;line-height:1.45; }

  .panel {
    margin-top:16px;padding:18px;border:1px solid var(--line);
    border-radius:22px;background:rgba(255,250,240,.76);
    box-shadow:0 8px 24px rgba(28,22,15,.05);
  }
  .panel h2 { margin:0 0 12px;font-family:Georgia,serif;font-size:27px; }
  .panel .desc { color:var(--muted);font-size:13px;margin:-4px 0 14px;line-height:1.5; }

  .list { display:grid;gap:9px; }
  .row {
    display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;
    padding:13px;border:1px solid var(--line);border-radius:16px;background:#fffaf1;
  }
  .time {
    min-width:52px;font-weight:950;font-size:16px;
  }
  .row strong { display:block;font-size:13px; }
  .row small { display:block;color:var(--muted);margin-top:3px;font-size:11px; }
  .badge {
    font-size:9px;font-weight:900;border-radius:999px;background:#eee2cf;padding:6px 8px;
  }

  .menu-tabs { display:flex;gap:7px;overflow:auto;padding-bottom:5px;margin-bottom:12px; }
  .menu-tabs button {
    white-space:nowrap;border:1px solid var(--line);background:transparent;
    border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;
  }
  .menu-tabs button.active { background:var(--ink);color:white;border-color:var(--ink); }

  .menu-item {
    display:flex;justify-content:space-between;gap:12px;
    padding:13px 0;border-bottom:1px dashed var(--line);
  }
  .menu-item:last-child { border-bottom:0; }
  .menu-item h4 { margin:0 0 3px;font-size:14px; }
  .menu-item p { margin:0;color:var(--muted);font-size:11px;line-height:1.4; }
  .price { font-weight:900;white-space:nowrap; }

  .form { display:grid;gap:10px; }
  .form input,.form select,.form textarea {
    width:100%;border:1px solid var(--line);border-radius:14px;
    padding:13px;background:#fffdf8;color:var(--ink);outline:none;
  }
  .form input:focus,.form select:focus,.form textarea:focus { border-color:#80715e; }
  .primary {
    border:0;border-radius:15px;background:var(--ink);color:white;
    font-weight:900;padding:14px;
  }
  .whatsapp {
    display:block;text-decoration:none;text-align:center;
    border-radius:15px;padding:13px;margin-top:9px;
    border:1px solid var(--ink);color:var(--ink);font-weight:900;
  }

  .bottom {
    position:fixed;left:50%;bottom:0;transform:translateX(-50%);
    width:min(100%,460px);z-index:30;
    display:grid;grid-template-columns:repeat(4,1fr);
    background:rgba(243,236,223,.96);backdrop-filter:blur(18px);
    border-top:1px solid var(--line);
    padding:9px 6px max(10px,env(safe-area-inset-bottom));
  }
  .bottom button {
    border:0;background:transparent;color:#81786c;
    display:flex;flex-direction:column;align-items:center;gap:3px;
    padding:4px;font-size:18px;
  }
  .bottom button span { font-size:10px;font-weight:800; }
  .bottom button.active { color:var(--ink); }

  .drawer {
    position:fixed;inset:0;z-index:50;pointer-events:none;
  }
  .drawer.open { pointer-events:auto; }
  .scrim { position:absolute;inset:0;background:rgba(0,0,0,.35);opacity:0;transition:.2s; }
  .drawer.open .scrim { opacity:1; }
  .sheet {
    position:absolute;left:0;top:0;bottom:0;width:min(82%,340px);
    background:var(--bg);padding:22px;transform:translateX(-102%);transition:.25s;
    box-shadow:12px 0 30px rgba(0,0,0,.18);
  }
  .drawer.open .sheet { transform:translateX(0); }
  .sheet img { width:110px;border-radius:50%;display:block;margin:10px auto 24px;mix-blend-mode:multiply; }
  .sheet button {
    width:100%;text-align:left;border:0;background:transparent;
    border-bottom:1px solid var(--line);padding:14px 2px;font-weight:800;
  }

  .toast {
    position:fixed;left:50%;bottom:102px;transform:translateX(-50%) translateY(20px);
    width:min(88%,380px);background:#151515;color:white;padding:13px 15px;
    border-radius:14px;z-index:70;opacity:0;pointer-events:none;transition:.25s;
    font-size:12px;text-align:center;
  }
  .toast.show { opacity:1;transform:translateX(-50%) translateY(0); }

  @media(max-width:370px) {
    .feature-grid { grid-template-columns:1fr; }
    .feature { min-height:190px; }
  }

  .event-reserve, .ticket-btn {
    display:inline-block;
    margin-top:9px;
    border:0;
    border-radius:10px;
    padding:8px 10px;
    background:var(--ink);
    color:white;
    font-size:10px;
    font-weight:900;
    text-decoration:none;
  }
  .ticket-btn { background:#6b4d24; }
  .selected-event {
    border:1px solid var(--line);
    background:#eee2cf;
    border-radius:14px;
    padding:12px;
    font-size:12px;
    line-height:1.45;
    font-weight:800;
  }


  .deposit-warning {
    border:1px solid #9a7a48;
    background:#f3e4c6;
    color:#2a2116;
    border-radius:14px;
    padding:12px 13px;
    font-size:12px;
    line-height:1.45;
  }
  .deposit-warning strong {
    display:block;
    margin-bottom:4px;
  }


  .discover-strip {
    margin-top:16px;
    border-radius:22px;
    padding:18px;
    border:1px solid var(--line);
    background:linear-gradient(120deg,#fffaf0,#e9ddc9);
    display:flex;align-items:center;justify-content:space-between;gap:14px;
    cursor:pointer;
  }
  .discover-strip h3 { margin:0 0 5px;font-family:Georgia,serif;font-size:22px; }
  .discover-strip p:last-child { margin:0;color:var(--muted);font-size:12px;line-height:1.4; }
  .discover-arrow { font-size:28px; }
  .discover-hero {
    display:flex;align-items:center;gap:13px;padding:14px;
    border-radius:18px;background:var(--ink);color:white;margin-bottom:17px;
  }
  .discover-icon {
    width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
    background:var(--bg);color:var(--ink);font-family:Georgia,serif;font-size:26px;font-weight:900;
  }
  .discover-hero strong { display:block;font-family:Georgia,serif;font-size:21px; }
  .discover-hero small { color:#d7d0c5; }
  .subhead { margin:19px 0 10px;font-family:Georgia,serif;font-size:20px; }
  .photo-grid { display:grid;grid-template-columns:1.25fr .85fr;grid-template-rows:92px 92px;gap:8px; }
  .photo-placeholder {
    border-radius:16px;background:linear-gradient(145deg,#282828,#0e0e0e);
    color:white;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;
    min-width:0;
  }
  .photo-placeholder:first-child { grid-row:1 / 3; }
  .photo-placeholder span { font-size:10px;font-weight:900;letter-spacing:.08em; }
  .photo-placeholder small { color:#c8c8c8;font-size:9px;margin-top:3px; }
  .social-actions { display:grid;gap:9px; }
  .social-btn {
    width:100%;border:1px solid var(--line);border-radius:16px;background:#fffaf1;
    color:var(--ink);text-decoration:none;padding:13px;display:grid;
    grid-template-columns:36px 1fr;align-items:center;gap:8px;text-align:left;
  }
  .social-btn > span { font-size:24px;text-align:center; }
  .social-btn strong { display:block;font-size:13px; }
  .social-btn small { display:block;color:var(--muted);font-size:10px;margin-top:2px; }
  .ig-mark { font-weight:900; }
  .map-modal { position:fixed;inset:0;z-index:80;pointer-events:none; }
  .map-modal.open { pointer-events:auto; }
  .map-scrim { position:absolute;inset:0;background:rgba(0,0,0,.48);opacity:0;transition:.2s; }
  .map-modal.open .map-scrim { opacity:1; }
  .map-card {
    position:absolute;left:50%;bottom:0;transform:translate(-50%,105%);
    width:min(100%,460px);background:var(--bg);border-radius:25px 25px 0 0;
    padding:13px 20px max(22px,env(safe-area-inset-bottom));transition:.25s;
  }
  .map-modal.open .map-card { transform:translate(-50%,0); }
  .map-handle { width:42px;height:4px;border-radius:99px;background:#b8ad9d;margin:0 auto 16px; }
  .map-card h3 { margin:0;font-family:Georgia,serif;font-size:25px; }
  .map-card p { color:var(--muted);font-size:12px; }
  .map-card a {
    display:flex;justify-content:space-between;padding:14px 2px;border-bottom:1px solid var(--line);
    color:var(--ink);text-decoration:none;font-weight:850;
  }
  .map-card button {
    width:100%;margin-top:13px;border:0;border-radius:13px;padding:12px;background:#dfd5c6;font-weight:800;
  }


.gallery-card{width:100%;padding:0;border:0;border-radius:18px;overflow:hidden;background:#171717;color:white;text-align:left;position:relative;margin-bottom:10px}
.gallery-card img{width:100%;height:190px;object-fit:cover;display:block}
.gallery-card span{display:block;padding:12px 13px}
.gallery-card strong{display:block;font-family:Georgia,serif;font-size:18px}
.gallery-card small{display:block;color:#cfc8bc;font-size:10px;margin-top:3px}
.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.gallery-card.small img{height:130px}.gallery-card.small strong{font-size:15px}
.service-strip{margin-top:16px;border:1px solid var(--line);border-radius:22px;padding:17px;background:#171717;color:white}
.service-strip h3{font-family:Georgia,serif;font-size:21px;margin:2px 0 12px}
.service-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.service-mini-grid button{border:0;border-radius:14px;padding:13px;background:#f1e5d2;color:var(--ink);text-align:left}
.service-mini-grid strong,.service-mini-grid small{display:block}.service-mini-grid small{font-size:9px;margin-top:5px;color:var(--muted)}
.service-card{width:100%;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:17px;padding:14px;background:#fffaf1;color:var(--ink);text-align:left;margin-bottom:10px}
.service-card strong,.service-card small{display:block}.service-card strong{font-family:Georgia,serif;font-size:18px}.service-card small{font-size:10px;color:var(--muted);line-height:1.4;margin-top:4px}
.service-symbol{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-size:20px}
.back-btn{border:0;background:transparent;padding:0 0 12px;color:var(--muted);font-weight:800}
.gallery-modal{position:fixed;inset:0;z-index:90;pointer-events:none}.gallery-modal.open{pointer-events:auto}
.gallery-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:.2s}.gallery-modal.open .gallery-scrim{opacity:1}
.gallery-sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%,105%);width:min(100%,460px);max-height:86vh;overflow:auto;background:var(--bg);border-radius:25px 25px 0 0;padding:18px;transition:.25s}
.gallery-modal.open .gallery-sheet{transform:translate(-50%,0)}
.gallery-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.gallery-top h3{margin:0;font-family:Georgia,serif;font-size:24px}.gallery-top small{color:var(--muted)}
.gallery-top button{border:0;background:#dfd5c6;width:34px;height:34px;border-radius:50%;font-size:20px}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.gallery-grid button{border:0;padding:0;border-radius:12px;background:transparent;overflow:hidden}.gallery-grid img{display:block;width:100%;height:175px;object-fit:cover;cursor:pointer}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:110;display:none;align-items:center;justify-content:center;padding:20px}.lightbox.open{display:flex}
.lightbox-stage{position:relative;width:min(100%,920px);height:min(84vh,820px);display:flex;align-items:center;justify-content:center;touch-action:pan-y pinch-zoom;user-select:none}
.lightbox img{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.lightbox-close{position:absolute;z-index:3;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#171717;font-size:24px;line-height:1}
.lightbox-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:44px;height:58px;border:0;border-radius:14px;background:rgba(255,255,255,.88);color:#171717;font-size:34px;line-height:1;box-shadow:0 8px 20px rgba(0,0,0,.22)}
.lightbox-prev{left:8px}.lightbox-next{right:8px}
.lightbox-position{position:absolute;z-index:2;left:50%;bottom:10px;transform:translateX(-50%);min-width:56px;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.68);color:white;text-align:center;font-size:11px;font-weight:900}


.call-icon{display:grid!important;place-items:center;text-decoration:none;color:var(--ink)}
.menu-group{margin:16px 0 20px}
.menu-group h3{font-family:Georgia,serif;font-size:19px;margin:0 0 8px}
.menu-product{padding:12px 2px;border-bottom:1px solid var(--line);font-size:14px;font-weight:750}
.menu-product:last-child{border-bottom:0}
.menu-empty{padding:18px 2px;color:var(--muted);font-size:12px}


.contact-call{
  min-width:58px;border:0;background:transparent;text-decoration:none;color:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
}
.contact-call .phone-symbol{font-size:22px;line-height:1}
.contact-call small{font-size:8px;font-weight:900;white-space:nowrap;margin-top:2px}
.account-strip{
  margin-top:16px;border:1px solid var(--line);border-radius:22px;padding:16px;
  background:linear-gradient(120deg,#171717,#30271c);color:white;
  display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;cursor:pointer;
}
.account-strip .eyebrow{color:#d0b178;margin-bottom:4px}
.account-strip h3{font-family:Georgia,serif;font-size:19px;margin:0 0 4px}
.account-strip p:last-child{margin:0;color:#d5d1ca;font-size:10px;line-height:1.4}
.account-avatar,.profile-avatar{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:var(--bg);color:var(--ink);font-weight:900;font-family:Georgia,serif;
}
.account-note{
  margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:14px;
  background:#eee2cf;color:var(--ink);font-size:11px;line-height:1.45;
}
.account-note strong{display:block;margin-bottom:4px}
.profile-card{
  display:flex;align-items:center;gap:12px;padding:15px;border-radius:17px;
  background:var(--ink);color:white;margin-bottom:13px;
}
.profile-card strong,.profile-card small{display:block}
.profile-card strong{font-family:Georgia,serif;font-size:18px}
.profile-card small{color:#ccc;margin-top:2px}
.empty-state{
  padding:30px 18px;border:1px dashed var(--line);border-radius:18px;text-align:center;
  background:#fffaf1;color:var(--muted)
}
.empty-state div{font-size:32px;margin-bottom:10px}
.empty-state strong{display:block;color:var(--ink);margin-bottom:5px}
.empty-state small{display:block;font-size:10px;line-height:1.45}


.install-card{
  margin-top:16px;border:1px solid var(--line);border-radius:22px;padding:15px;
  background:linear-gradient(120deg,#fffaf0,#eadcc5);
  display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px
}
.install-logo{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-family:Georgia,serif;font-weight:900}
.install-card h3{font-family:Georgia,serif;font-size:17px;margin:0 0 3px}
.install-card p:last-child{margin:0;color:var(--muted);font-size:9px;line-height:1.35}
.install-card button{border:0;border-radius:11px;background:var(--ink);color:white;padding:10px 11px;font-size:10px;font-weight:900}
.install-modal{position:fixed;inset:0;z-index:120;pointer-events:none}
.install-modal.open{pointer-events:auto}
.install-scrim{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:.2s}
.install-modal.open .install-scrim{opacity:1}
.install-sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%,105%);width:min(100%,460px);background:var(--bg);border-radius:25px 25px 0 0;padding:15px 20px max(24px,env(safe-area-inset-bottom));transition:.25s}
.install-modal.open .install-sheet{transform:translate(-50%,0)}
.install-sheet h3{font-family:Georgia,serif;font-size:24px;margin:0 0 8px}
.install-sheet p{color:var(--muted);font-size:12px;line-height:1.5}
.install-sheet .primary{width:100%;margin-top:8px}


.top-v11{grid-template-columns:42px 68px 1fr;gap:5px;padding-left:8px;padding-right:6px}
.top-v11 .brand img{width:62px;height:62px}
.top-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.top-action{min-width:0;border:0;background:transparent;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:10px;padding:4px 1px}
.top-action span{font-size:16px;line-height:1}
.top-action small{font-size:6.4px;font-weight:900;line-height:1.08;text-align:center}
.notification-card{margin-top:16px;border:1px solid var(--line);border-radius:22px;padding:16px;background:linear-gradient(120deg,#171717,#2a2219);color:white;box-shadow:var(--shadow)}
.notification-card .eyebrow{color:#d0b178;margin-bottom:5px}
.notification-card h3{font-family:Georgia,serif;font-size:20px;line-height:1.15;margin:0 0 6px}
.notification-card p:last-child{margin:0;color:#d6d1ca;font-size:10px;line-height:1.45}
.notification-buttons{display:grid;grid-template-columns:1.25fr .95fr;gap:8px;margin-top:13px}
.notification-buttons button{border-radius:12px;padding:10px 8px;font-size:10px;font-weight:900}
.notify-primary{border:0;background:var(--bg);color:var(--ink)}
.notify-secondary{border:1px solid rgba(255,255,255,.24);background:transparent;color:white}


.push-debug{
  margin:12px 0;padding:11px;border:1px solid var(--line);border-radius:12px;
  background:#fffaf1;font-size:10px;line-height:1.55;word-break:break-word;color:var(--ink)
}


.chrome-open-btn{display:block;width:100%;margin-top:8px}
.secondary-reset{
  width:100%;margin-top:8px;border:1px solid var(--line);border-radius:13px;
  padding:12px;background:#eee2cf;color:var(--ink);font-weight:850
}

/* ===== Capital v12 visual refresh ===== */
body{background:#cfc6b8}
.phone{background:#f1eadf;box-shadow:0 0 60px rgba(0,0,0,.2)}
main{padding:12px 16px 34px}

.top-v11{
  grid-template-columns:42px 62px 1fr;
  padding:8px 8px 7px;
  background:rgba(241,234,223,.94);
  border-bottom:1px solid rgba(122,108,88,.16);
}
.top-v11 .brand img{width:58px;height:58px}
.top-action{
  background:rgba(255,255,255,.45);
  border:1px solid rgba(122,108,88,.12);
  border-radius:11px;
}
.top-action small{font-size:6.6px}
.icon{width:38px;height:38px;font-size:21px}

.home-hero{
  position:relative;
  min-height:390px;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 18px 40px rgba(33,26,18,.18);
  background:#111;
}
.home-hero>img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.home-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.12) 10%,rgba(0,0,0,.18) 35%,rgba(0,0,0,.84) 100%);
}
.home-hero-content{
  position:absolute;left:0;right:0;bottom:0;color:white;padding:24px 20px 21px;
}
.home-hero-content .eyebrow{color:#dfc293;margin-bottom:8px}
.home-hero-content h1{
  margin:0;
  max-width:350px;
  font-family:Georgia,serif;
  font-size:35px;
  line-height:1.02;
}
.home-hero-content p:not(.eyebrow){
  margin:10px 0 0;
  color:#e2dfda;
  max-width:350px;
  font-size:12px;
  line-height:1.5;
}
.hero-actions{display:flex;gap:8px;margin-top:17px}
.hero-actions button{
  border-radius:13px;padding:12px 14px;font-size:11px;font-weight:900;
}
.hero-primary{background:#f1eadf;color:#151515;border:0}
.hero-secondary{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.35)}

.quick-v12{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 20px;
}
.quick-v12 button{
  border:1px solid rgba(122,108,88,.16);
  background:#fbf6ed;
  border-radius:16px;
  min-width:0;
  padding:12px 5px 10px;
  color:var(--ink);
}
.quick-v12 span{display:block;font-size:20px;margin-bottom:7px}
.quick-v12 strong{display:block;font-size:10px}
.quick-v12 small{display:block;font-size:7px;color:var(--muted);margin-top:3px;line-height:1.2}

.home-section{margin-top:23px}
.section-head-v12{
  display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:11px;
}
.section-head-v12 .eyebrow{margin-bottom:4px;color:#8d7451}
.section-head-v12 h2{
  margin:0;font-family:Georgia,serif;font-size:24px;line-height:1.08;
}
.section-head-v12>button{
  border:0;background:transparent;color:var(--muted);font-size:9px;font-weight:900;white-space:nowrap;
}

.upcoming-stack{display:grid;gap:8px}
.upcoming-card{
  display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:11px;
  border:1px solid rgba(122,108,88,.14);
  background:#fbf6ed;border-radius:18px;padding:11px;
}
.upcoming-date{
  min-height:54px;border-radius:14px;background:#181818;color:white;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.upcoming-date strong{font-family:Georgia,serif;font-size:24px;line-height:.9}
.upcoming-date span{font-size:8px;font-weight:900;letter-spacing:.12em;margin-top:5px}
.upcoming-info{min-width:0}
.upcoming-info .mini-tag{font-size:8px;font-weight:900;color:#9b7744;letter-spacing:.08em}
.upcoming-info h3{margin:3px 0 3px;font-size:14px;line-height:1.15}
.upcoming-info p{margin:0;color:var(--muted);font-size:9px}
.upcoming-card>button{
  border:0;border-radius:10px;background:#171717;color:white;padding:9px 8px;font-size:9px;font-weight:900;
}

.notification-card-v12{
  display:grid;grid-template-columns:36px 1fr;gap:10px;margin-top:23px;padding:16px;
}
.notification-card-v12 .notification-buttons{grid-column:1 / -1}
.notification-icon{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:#f0e5d4;color:#171717;font-size:18px;
}
.notification-card-v12 h3{font-size:18px}

.home-photo-grid{
  display:grid;grid-template-columns:1.25fr .85fr;grid-template-rows:105px 105px;gap:8px;cursor:pointer;
}
.home-photo{
  position:relative;overflow:hidden;border-radius:17px;background:#111;
}
.home-photo.big{grid-row:1/3}
.home-photo img{width:100%;height:100%;object-fit:cover;display:block}
.home-photo:after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.7));
}
.home-photo span{
  position:absolute;z-index:2;left:10px;bottom:9px;color:white;font-size:10px;font-weight:900;
}

.service-strip-v12{margin-top:23px;border-radius:24px;padding:18px}
.light-head h2{color:white}
.light-head .eyebrow{color:#d2ae76}
.service-mini-grid button{
  position:relative;min-height:112px;padding:13px;border-radius:16px;
}
.service-mini-icon{
  display:grid;width:31px;height:31px;border-radius:50%;place-items:center;
  background:#171717;color:white;margin-bottom:12px;
}
.service-mini-grid strong{font-size:13px}
.service-mini-grid small{font-size:8px}

.account-strip-v12{
  margin-top:12px;background:#fbf6ed;color:var(--ink);border:1px solid rgba(122,108,88,.14);
}
.account-strip-v12 .eyebrow{color:#9b7744}
.account-strip-v12 p:last-child{color:var(--muted)}

.panel-v12-home{
  background:transparent;border:0;box-shadow:none;padding:0;margin-top:23px;
}
.panel-v12-home h2{font-size:23px;margin:0 0 10px}
.home-link-list{display:grid;gap:8px}
.home-link-list button,.home-link-list a{
  width:100%;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;
  padding:12px;border-radius:15px;border:1px solid rgba(122,108,88,.14);
  background:#fbf6ed;color:var(--ink);text-decoration:none;text-align:left;
}
.home-link-list>*>span{font-size:20px;text-align:center}
.home-link-list strong,.home-link-list small{display:block}
.home-link-list strong{font-size:12px}
.home-link-list small{font-size:8px;color:var(--muted);margin-top:2px}
.home-link-list b{font-size:14px}

/* Common sub-page design */
.panel{
  background:#f7f0e5;border:1px solid rgba(122,108,88,.14);
  border-radius:24px;padding:18px;box-shadow:0 10px 28px rgba(33,26,18,.06);
}
.view-title{margin-bottom:16px}
.view-title .eyebrow{color:#967345;margin-bottom:5px}
.view-title h2{
  margin:0;font-family:Georgia,serif;font-size:31px;line-height:1;
}
.view-title .desc{margin:9px 0 0;max-width:340px}

/* Program */
.program-filters{
  display:flex;gap:6px;margin-bottom:16px;position:sticky;top:78px;z-index:8;
  padding:6px;border-radius:15px;background:rgba(241,234,223,.94);backdrop-filter:blur(12px);
}
.program-filters button{
  flex:1;border:1px solid rgba(122,108,88,.16);border-radius:11px;padding:8px 5px;
  background:#fbf6ed;font-size:9px;font-weight:900;color:var(--muted);
}
.program-filters button.active{background:#171717;color:white;border-color:#171717}
.program-timeline{display:grid;gap:12px}
.program-day{
  display:grid;grid-template-columns:49px 1fr;gap:10px;align-items:flex-start;
}
.program-date{
  position:sticky;top:125px;border-radius:13px;background:#171717;color:white;
  min-height:58px;display:flex;flex-direction:column;justify-content:center;align-items:center;
}
.program-date strong{font-family:Georgia,serif;font-size:24px;line-height:.9}
.program-date span{font-size:8px;letter-spacing:.1em;font-weight:900;margin-top:5px}
.program-date.september{background:#695032}
.program-multi{display:grid;gap:7px}
.program-card{
  padding:13px;border-radius:16px;background:#fffaf1;border:1px solid rgba(122,108,88,.14);
}
.program-card.event-card{border-left:4px solid #9f7c49}
.program-card.sport-card{border-left:4px solid #2e2e2e}
.program-card.quiz-card{border-left:4px solid #6c4d24}
.program-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}
.program-meta span{font-size:8px;font-weight:950;letter-spacing:.08em;color:#957244}
.program-meta b{font-size:10px}
.program-card h3{margin:6px 0 3px;font-size:14px;line-height:1.15}
.program-card p{margin:0;color:var(--muted);font-size:9px}
.program-cta{
  display:inline-block;margin-top:9px;border:0;border-radius:10px;background:#171717;color:white;
  padding:8px 10px;font-size:9px;font-weight:900;text-decoration:none;
}
.program-cta.ticket{background:#6b4d24}

/* Events */
.event-feature-card{
  position:relative;overflow:hidden;border-radius:22px;min-height:285px;background:#111;
}
.event-feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.event-feature-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.86))}
.event-feature-copy{position:absolute;left:0;right:0;bottom:0;color:white;padding:18px}
.event-feature-copy span{font-size:9px;font-weight:900;color:#e0bd83;letter-spacing:.09em}
.event-feature-copy h3{margin:5px 0 3px;font-family:Georgia,serif;font-size:26px}
.event-feature-copy p{margin:0 0 11px;font-size:10px}
.event-feature-copy a{display:inline-block;background:#f1eadf;color:#171717;text-decoration:none;border-radius:10px;padding:9px 11px;font-size:9px;font-weight:900}
.event-simple-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.event-simple-grid article{border-radius:16px;background:#fffaf1;border:1px solid rgba(122,108,88,.14);padding:13px}
.event-simple-grid span{font-size:8px;color:#967345;font-weight:900}
.event-simple-grid h3{font-size:13px;margin:5px 0}
.event-simple-grid p{font-size:8px;color:var(--muted);margin:0}

/* Menu */
.menu-tabs-v12{
  position:sticky;top:78px;z-index:8;background:rgba(241,234,223,.95);padding:6px;
  border-radius:15px;margin-bottom:14px;
}
.menu-tabs-v12 button{padding:9px 12px}
.menu-content-v12 .menu-group{
  background:#fffaf1;border:1px solid rgba(122,108,88,.14);border-radius:18px;padding:14px;margin-bottom:10px;
}
.menu-content-v12 .menu-group h3{font-size:20px;margin:0 0 8px}
.menu-content-v12 .menu-product{
  display:flex;align-items:center;min-height:43px;padding:9px 2px;font-size:12px;
}
.menu-content-v12 .menu-product:before{
  content:"";width:6px;height:6px;border-radius:50%;background:#9e7a47;margin-right:10px;flex:0 0 auto;
}

/* Discover */
.discover-mosaic{
  display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:145px 145px;gap:8px;
}
.discover-photo{
  position:relative;border:0;border-radius:18px;overflow:hidden;padding:0;background:#111;color:white;text-align:left;
}
.discover-photo.large{grid-row:1/3}
.discover-photo img{width:100%;height:100%;object-fit:cover;display:block}
.discover-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.75))}
.discover-photo span{position:absolute;z-index:2;left:11px;bottom:10px}
.discover-photo strong,.discover-photo small{display:block}
.discover-photo strong{font-size:12px}
.discover-photo small{font-size:8px;color:#ddd;margin-top:2px}
.discover-info-card{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin:11px 0 19px;
  padding:13px;border-radius:16px;background:#171717;color:white;
}
.discover-info-card>div{display:grid;grid-template-columns:26px 1fr;column-gap:8px}
.discover-info-card>div>span{grid-row:1/3;font-size:20px;align-self:center}
.discover-info-card strong,.discover-info-card small{display:block}
.discover-info-card strong{font-size:11px}
.discover-info-card small{font-size:8px;color:#bbb}
.discover-info-card button{border:0;border-radius:9px;background:#f1eadf;padding:8px 10px;font-size:9px;font-weight:900}
.social-actions-v12 .social-btn{background:#fffaf1}

/* Reservation */
.reservation-info{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:13px;
}
.reservation-info div{
  padding:11px;border-radius:14px;background:#171717;color:white;
}
.reservation-info strong,.reservation-info span{display:block}
.reservation-info strong{font-size:8px;color:#cbb99e}
.reservation-info span{font-size:12px;font-weight:900;margin-top:3px}
.form-v12{gap:12px}
.form-v12 label{font-size:9px;font-weight:900;color:#6f6355}
.form-v12 label input,.form-v12 label select,.form-v12 label textarea{margin-top:5px;font-weight:500;color:var(--ink)}
.form-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.primary-v12{padding:14px;margin-top:2px}
.whatsapp-v12{font-size:10px}

/* Services & account cards */
.service-card{box-shadow:none}
.profile-card{border-radius:18px}

/* Bottom nav */
.bottom{
  width:min(calc(100% - 18px),442px);
  bottom:8px;
  border:1px solid rgba(122,108,88,.18);
  border-radius:18px;
  background:rgba(247,240,229,.96);
  box-shadow:0 12px 30px rgba(0,0,0,.15);
  padding:7px 5px max(7px,env(safe-area-inset-bottom));
}
.bottom button{border-radius:12px;padding:6px 3px}
.bottom button.active{background:#171717;color:white}
.bottom button span{font-size:8px}

@media(max-width:370px){
  .home-hero{min-height:355px}
  .home-hero-content h1{font-size:30px}
  .quick-v12{grid-template-columns:1fr 1fr}
  .event-simple-grid{grid-template-columns:1fr}
}


/* ===== Capital v12.1 iOS/WebKit compatibility hotfix ===== */
html,body{min-height:100%;background:#f1eadf}
body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.phone{
  display:block;
  width:100%;
  max-width:460px;
  min-height:100vh;
  min-height:-webkit-fill-available;
}
.top{
  -webkit-backdrop-filter:blur(16px);
}
.program-filters{
  -webkit-backdrop-filter:blur(12px);
}
.bottom{
  width:calc(100% - 18px);
  max-width:442px;
}
img{
  max-width:100%;
  -webkit-user-drag:none;
}
.home-hero,
.home-photo,
.discover-photo,
.event-feature-card{
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
@supports (-webkit-touch-callout:none){
  .top,.program-filters{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .home-hero-overlay{
    background:linear-gradient(180deg,rgba(0,0,0,.10) 10%,rgba(0,0,0,.25) 38%,rgba(0,0,0,.86) 100%);
  }
}


/* ===== Capital v12.2 automatic program cleanup ===== */
.program-empty{
  min-height:170px;
  border:1px dashed rgba(122,108,88,.28);
  border-radius:18px;
  background:#fffaf1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:24px 18px;
}
.program-empty>span{font-size:26px;margin-bottom:8px}
.program-empty strong{font-size:13px}
.program-empty small{font-size:9px;color:var(--muted);margin-top:5px;max-width:230px;line-height:1.45}
.home-ticket-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#6b4d24;
  color:white;
  padding:9px 8px;
  font-size:9px;
  font-weight:900;
  text-decoration:none;
}
.upcoming-empty-card{
  grid-template-columns:1fr auto;
  min-height:76px;
}


/* ===== Capital v12.3 navigation cleanup ===== */
#panel[style*="display:none"]{margin:0;padding:0;border:0;box-shadow:none}


/* ===== Capital v12.4 menu expansion ===== */
.menu-tabs-scroll{
  display:flex;
  gap:6px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.menu-tabs-scroll::-webkit-scrollbar{display:none}
.menu-tabs-scroll button{
  flex:0 0 auto;
  min-width:max-content;
}
.menu-content-v12{
  display:grid;
  gap:10px;
}
.menu-content-v12 .menu-group{
  margin-bottom:0;
}
.menu-content-v12 .menu-group h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.menu-content-v12 .menu-group h3:after{
  content:"";
  width:28px;
  height:1px;
  background:rgba(122,108,88,.3);
}


/* ===== Capital v12.5 live membership ===== */
.account-live{display:grid;gap:12px}
.account-loading{
  min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;border:1px dashed rgba(122,108,88,.25);border-radius:18px;background:#fffaf1;
}
.account-spinner{
  width:24px;height:24px;border:3px solid rgba(122,108,88,.2);
  border-top-color:#171717;border-radius:50%;animation:capitalSpin .8s linear infinite;
}
@keyframes capitalSpin{to{transform:rotate(360deg)}}
.profile-card-live{position:relative;padding-right:68px}
.member-badge{
  position:absolute;right:13px;top:50%;transform:translateY(-50%);
  border-radius:999px;background:#171717;color:#fff;padding:6px 8px;
  font-size:7px;font-weight:950;letter-spacing:.1em;
}
.member-badge.boss{
  background:linear-gradient(135deg,#e8ca90,#f7e6bd);
  color:#21180d;
  box-shadow:0 5px 14px rgba(107,76,31,.18);
}
.account-logout-btn{
  width:100%;margin-top:10px;border:1px solid rgba(122,108,88,.2);border-radius:13px;
  background:transparent;color:#7d2f2f;padding:12px;font-size:10px;font-weight:900;
}
.account-form input:disabled{
  opacity:.7;background:#e9e1d5;color:#71685e;
}
.account-legal-note{
  margin-top:11px;padding:11px 12px;border-radius:13px;
  background:#eee4d5;color:#6f6355;font-size:8px;line-height:1.45;
}
.auth-success-card{
  text-align:center;padding:24px 18px;border-radius:22px;background:#fffaf1;
  border:1px solid rgba(122,108,88,.15);
}
.auth-success-icon{
  width:54px;height:54px;margin:0 auto 13px;border-radius:50%;
  display:grid;place-items:center;background:#171717;color:#fff;font-size:22px;
}
.auth-success-card h2{font-family:Georgia,serif;font-size:28px;margin:5px 0 8px}
.auth-success-card p:not(.eyebrow){font-size:10px;line-height:1.5;color:var(--muted)}
.auth-success-card .primary{margin-top:10px}


/* ===== Capital v13 - Capital Club ===== */
.field-help{display:block;margin-top:5px;color:var(--muted);font-size:7.5px;line-height:1.4;font-weight:600}
.toggle-row{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:14px;padding:12px 13px;background:#fffaf1;border:1px solid rgba(122,108,88,.14);border-radius:14px}
.toggle-row>span{display:block;flex:1}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:10px;color:var(--ink)}.toggle-row small{font-size:7.5px;color:var(--muted);margin-top:3px;line-height:1.35}
.toggle-row input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:42px!important;min-width:42px;height:24px;border-radius:999px;background:#cfc5b6;position:relative;border:0;padding:0!important;margin:0!important}
.toggle-row input[type="checkbox"]:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;left:3px;top:3px;background:white;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}
.toggle-row input[type="checkbox"]:checked{background:#171717}.toggle-row input[type="checkbox"]:checked:after{transform:translateX(18px)}

.club-preview-card{border-radius:22px;padding:20px;margin-bottom:12px;color:white;background:radial-gradient(circle at 88% 12%,rgba(221,185,125,.25),transparent 32%),linear-gradient(145deg,#171717,#2c241c);box-shadow:0 14px 32px rgba(0,0,0,.14)}
.club-preview-badge{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#f0e3ce;color:#171717;font-size:24px;font-weight:950;margin-bottom:18px}
.club-preview-card .eyebrow{color:#d9b77e}.club-preview-card h3{font-family:Georgia,serif;font-size:24px;line-height:1.08;margin:5px 0 9px}.club-preview-card>p:last-child{color:#d5d0c9;font-size:9px;line-height:1.5;margin:0}

.club-card{margin:12px 0;border-radius:22px;padding:16px;color:white;background:radial-gradient(circle at 90% 0%,rgba(226,190,129,.24),transparent 34%),linear-gradient(145deg,#171717,#2c251d);box-shadow:0 16px 34px rgba(0,0,0,.15)}
.club-card-top{display:grid;grid-template-columns:54px 1fr auto;gap:11px;align-items:center}
.tier-badge{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#eee1cd;color:#171717;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);font-family:Georgia,serif;font-weight:950}
.tier-badge>span{font-size:25px;line-height:1}.tier-badge.small{width:34px;height:34px;border-radius:11px}.tier-badge.small>span{font-size:16px}
.tier-0{background:#e7dfd3}.tier-1{background:#dacdbb}.tier-2{background:#efe2c9}.tier-3{background:#1c1c1c;color:#f5ead8;border-color:#5a5145}.tier-4{background:#ead8ba}.tier-5{background:#d7c098}.tier-6{background:#f0d69c}.tier-7{background:#d8c9a8}.tier-8{background:#eee0bd}.tier-9{background:linear-gradient(145deg,#f0d18c,#fff3cf);color:#171717}
.tier-boss{
  background:linear-gradient(145deg,#e4bc70,#fff0c5);
  color:#171717;
  border-color:#e8cb94;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 7px 18px rgba(218,178,103,.18);
}

.club-tier-copy .eyebrow{color:#d7b57a;margin-bottom:3px}.club-tier-copy h3{margin:0;font-family:Georgia,serif;font-size:19px}.club-tier-copy small{display:block;color:#c9c1b7;font-size:8px;margin-top:4px}
.club-points{text-align:right}.club-points strong{display:block;font-family:Georgia,serif;font-size:23px}.club-points span{display:block;color:#d8c49f;font-size:7px;margin-top:2px}
.club-progress-wrap{margin-top:16px}.club-progress-label{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:7px}.club-progress-label span{font-size:7px;color:#c8bca9}.club-progress-label strong{font-size:8px;color:#f0e0c5;text-align:right}
.club-progress{height:7px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.club-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d4b579,#f4dfb4)}

.weekly-streak{margin-top:14px;display:flex;justify-content:space-between;gap:10px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);padding:11px;border-radius:14px}
.weekly-streak strong,.weekly-streak small{display:block}.weekly-streak strong{font-size:9px}.weekly-streak small{font-size:7px;color:#c8c1b8;margin-top:3px}.visit-dots{display:flex;gap:5px}.visit-dots i{font-style:normal;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#aaa;font-size:8px;font-weight:950}.visit-dots i.done{background:#e5cfaa;color:#171717}
.club-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.club-stats div{border-radius:12px;background:rgba(255,255,255,.06);padding:9px 7px;text-align:center}.club-stats strong,.club-stats span{display:block}.club-stats strong{font-size:14px}.club-stats span{font-size:6.5px;color:#beb6ac;margin-top:2px}
.club-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px}.club-actions button{border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:10px 6px;min-height:85px;background:rgba(255,255,255,.06);color:white;text-align:left}.club-actions button>span{display:block;font-family:Georgia,serif;font-size:19px;color:#e3c795;margin-bottom:8px}.club-actions strong,.club-actions small{display:block}.club-actions strong{font-size:8px}.club-actions small{font-size:6.3px;line-height:1.25;color:#bdb6ac;margin-top:3px}

.club-setup-card{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:11px;padding:15px;border-radius:16px;background:#fffaf1;border:1px solid rgba(122,108,88,.15)}
.club-mark{width:46px;height:46px;border-radius:14px;background:#171717;color:#f3e5cf;display:grid;place-items:center;font-size:20px;font-family:Georgia,serif}.club-setup-card strong,.club-setup-card small{display:block}.club-setup-card strong{font-size:11px}.club-setup-card small{font-size:8px;line-height:1.4;color:var(--muted);margin-top:3px}

.leaderboard-tabs{display:flex;gap:6px;position:sticky;top:78px;z-index:8;margin-bottom:13px;padding:6px;border-radius:15px;background:rgba(241,234,223,.95)}
.leaderboard-tabs button{flex:1;border:1px solid rgba(122,108,88,.15);border-radius:10px;padding:9px 5px;background:#fffaf1;color:var(--muted);font-size:8px;font-weight:900}.leaderboard-tabs button.active{background:#171717;color:white}
.leaderboard-list{display:grid;gap:6px}.leaderboard-row{display:grid;grid-template-columns:42px 34px 1fr auto;align-items:center;gap:8px;padding:10px;border-radius:15px;background:#fffaf1;border:1px solid rgba(122,108,88,.13)}.leaderboard-row.me{background:#eee1ce;border-color:#b69a70;box-shadow:inset 3px 0 0 #171717}
.leaderboard-rank{font-size:10px;font-weight:950;color:#857869;text-align:center}.leaderboard-rank.podium{font-size:15px;color:#171717}.leaderboard-member{min-width:0}.leaderboard-member strong,.leaderboard-member small{display:block}.leaderboard-member strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-member small{font-size:7px;color:var(--muted);margin-top:2px}.leaderboard-score{text-align:right}.leaderboard-score strong,.leaderboard-score span{display:block}.leaderboard-score strong{font-size:12px}.leaderboard-score span{font-size:6px;color:var(--muted)}
.my-rank-card{display:grid;grid-template-columns:1fr auto;align-items:center;margin-top:10px;padding:12px 14px;border-radius:15px;background:#171717;color:white}.my-rank-card>span{font-size:7px;color:#d7bb8a;font-weight:900;letter-spacing:.1em}.my-rank-card>strong{grid-row:1/3;grid-column:2;font-size:21px}.my-rank-card>small{font-size:7px;color:#bbb;margin-top:2px}.my-rank-card.muted{background:#746b60}

.level-ladder{display:grid;gap:7px}.level-row{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:15px;background:#fffaf1;border:1px solid rgba(122,108,88,.13);opacity:.76}.level-row .tier-badge{width:46px;height:46px;border-radius:14px}.level-row .tier-badge>span{font-size:21px}.level-row strong,.level-row small{display:block}.level-row strong{font-size:11px}.level-row small{font-size:7.5px;color:var(--muted);margin-top:3px}.level-row.reached{opacity:1}.level-row.current{background:#181818;color:white;border-color:#181818;transform:scale(1.01)}.level-row.current small{color:#c4b9aa}.level-state{font-size:8px;font-weight:950;color:#9b7c4e}.level-row.current .level-state{color:#e3c58f}
.club-rules{margin-top:14px;padding:15px;border-radius:18px;background:#eee3d3}.club-rules h3{margin:0 0 10px;font-family:Georgia,serif;font-size:19px}.club-rules>div{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid rgba(122,108,88,.14)}.club-rules>div>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:#171717;color:white;font-size:11px}.club-rules>div strong{font-size:9px}.club-rules>div b{font-size:7px;text-align:right;color:#725d3f}.club-rules p{font-size:7px;line-height:1.45;color:var(--muted);margin:9px 0 0}

.loyalty-history-list{display:grid;gap:7px}.loyalty-history-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:10px;border-radius:14px;background:#fffaf1;border:1px solid rgba(122,108,88,.12)}.history-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#171717;color:#efdcb9;font-size:15px}.loyalty-history-row>div:nth-child(2) strong,.loyalty-history-row>div:nth-child(2) small{display:block}.loyalty-history-row>div:nth-child(2) strong{font-size:9px}.loyalty-history-row>div:nth-child(2) small{font-size:6.5px;color:var(--muted);margin-top:3px}.history-values{text-align:right}.history-values b,.history-values span{display:block}.history-values b{font-size:8px;color:#43613e}.history-values b.negative{color:#8e3e3e}.history-values span{font-size:6.5px;color:#8b7049;margin-top:2px}

@media(max-width:370px){
  .club-card-top{grid-template-columns:48px 1fr}
  .club-points{grid-column:1 / -1;text-align:left;display:flex;align-items:baseline;gap:5px}
  .club-points strong{font-size:20px}
  .club-actions{grid-template-columns:1fr}
}


/* ===== Capital v13.1 - Quick Member Access ===== */
.top-actions-v131{
  grid-template-columns:repeat(4,1fr);
}
.top-actions-v131 .top-action{
  padding-left:0;
  padding-right:0;
}
.top-actions-v131 .top-action small{
  font-size:6px;
}
.account-shortcut{
  background:#171717!important;
  color:#f4e7d1!important;
}
.account-shortcut span{
  color:#e3c58f;
}
.account-shortcut small{
  color:#f4e7d1;
}
@media(max-width:370px){
  .top-actions-v131 .top-action small{font-size:5.5px}
  .top-actions-v131 .top-action span{font-size:15px}
}


/* ===== Capital v13.2 - iOS Install Guide ===== */
.ios-install-sheet{
  max-height:min(88vh,720px);
  overflow-y:auto;
}
.ios-install-icon{
  width:48px;
  height:48px;
  border-radius:15px;
  display:grid;
  place-items:center;
  margin:3px 0 12px;
  background:#171717;
  color:#f0dab2;
  font-size:22px;
  font-weight:900;
}
.ios-guide-eyebrow{
  margin-bottom:4px;
}
.ios-install-lead{
  margin-top:7px!important;
  line-height:1.5!important;
}
.ios-install-steps{
  display:grid;
  gap:8px;
  margin:14px 0 12px;
}
.ios-step{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:13px;
  background:#fffaf1;
  border:1px solid rgba(122,108,88,.14);
}
.ios-step>span{
  width:32px;
  height:32px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#171717;
  color:#f0dab2;
  font-size:10px;
  font-weight:950;
}
.ios-step strong,
.ios-step small{
  display:block;
}
.ios-step strong{
  font-size:9px;
  color:var(--ink);
}
.ios-step small{
  margin-top:2px;
  font-size:7px;
  line-height:1.35;
  color:var(--muted);
}
.ios-install-note{
  margin:0 0 13px;
  padding:10px 11px;
  border-radius:12px;
  background:#eee1ce;
  color:#5f4c32;
  font-size:7.5px;
  line-height:1.45;
  font-weight:750;
}


/* ===== Capital v14 ===== */

/* Panel positioning: sticky header must not cover page titles. */
#panel{
  scroll-margin-top:88px;
}
.view-title{
  scroll-margin-top:88px;
}

/* Compact but legible header actions. */
.top-actions-v131 .top-action{
  min-height:43px;
}
.top-actions-v131 .top-action small{
  font-size:7px;
  line-height:1;
  letter-spacing:.01em;
}
.top-actions-v131 .top-action span{
  font-size:17px;
}

/* Password recovery text action. */
.account-text-link{
  width:100%;
  margin:10px 0 0;
  padding:10px;
  border:0;
  background:transparent;
  color:#725d3f;
  font-size:10px;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
.account-text-link:hover{
  color:#171717;
}

/* Nickname availability feedback. */
.field-help.ok{color:#3f6b3a}
.field-help.error{color:#9a3f3f}
.signup-leaderboard-toggle{margin-top:0}

/* Keep forms comfortable on iOS; avoids Safari input zoom. */
@supports (-webkit-touch-callout:none){
  .form input,
  .form select,
  .form textarea{
    font-size:16px;
  }
}

/* Desktop: retain the app identity but use the available canvas. */
@media(min-width:900px){
  body{
    background:
      radial-gradient(circle at 10% 5%,rgba(255,255,255,.5),transparent 28%),
      #cfc6b8;
  }

  .phone{
    width:min(calc(100% - 40px),1180px);
    max-width:1180px;
    margin:20px auto;
    min-height:calc(100vh - 40px);
    border-radius:30px;
    overflow:clip;
  }

  .top-v11{
    grid-template-columns:48px 78px 1fr;
    gap:12px;
    padding:10px 28px;
  }

  .top-v11 .brand{
    justify-content:flex-start;
  }

  .top-v11 .brand img{
    width:64px;
    height:64px;
  }

  .top-actions-v131{
    width:min(100%,460px);
    justify-self:end;
    gap:7px;
  }

  .top-actions-v131 .top-action{
    min-height:50px;
  }

  .top-actions-v131 .top-action small{
    font-size:8px;
  }

  main{
    padding:26px 34px 120px;
  }

  .home-hero{
    min-height:520px;
  }

  .home-hero-content{
    padding:42px;
  }

  .home-hero-content h1{
    max-width:620px;
    font-size:54px;
    line-height:.98;
  }

  .home-hero-content p:not(.eyebrow){
    max-width:560px;
    font-size:15px;
  }

  .hero-actions button{
    padding:14px 18px;
    font-size:12px;
  }

  .quick-v12{
    grid-template-columns:repeat(4,1fr);
    gap:10px;
  }

  .quick-v12 button{
    min-height:112px;
    padding:18px;
  }

  .quick-v12 span{font-size:25px}
  .quick-v12 strong{font-size:12px}
  .quick-v12 small{font-size:8px}

  .upcoming-stack{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
  }

  .home-photo-grid{
    min-height:390px;
  }

  .home-photo.big{
    min-height:390px;
  }

  .service-mini-grid{
    grid-template-columns:repeat(2,1fr);
  }

  #panel{
    width:min(100%,880px);
    margin:34px auto 0;
    scroll-margin-top:105px;
  }

  .panel{
    padding:24px;
    border-radius:26px;
  }

  .view-title h2{
    font-size:38px;
  }

  .view-title .desc{
    max-width:640px;
    font-size:14px;
  }

  .discover-mosaic{
    grid-template-rows:240px 240px;
  }

  .reservation-info{
    grid-template-columns:repeat(2,1fr);
  }

  .form-two{
    grid-template-columns:repeat(2,1fr);
  }

  .bottom{
    width:min(calc(100% - 80px),720px);
  }

  .gallery-sheet,
  .install-sheet{
    width:min(calc(100% - 40px),720px);
  }
}


/* ===== Capital v15 - Single QR Club Check-in ===== */
.checkin-title .desc{max-width:520px}
.checkin-question-card{padding:17px;margin-bottom:10px;border-radius:19px;color:white;background:radial-gradient(circle at 90% 5%,rgba(225,190,128,.22),transparent 32%),linear-gradient(145deg,#171717,#2b241c)}
.checkin-question-card .eyebrow{color:#d9b77e}
.checkin-question-card h3{margin:4px 0 5px;font-family:Georgia,serif;font-size:23px}
.checkin-question-card p:last-child{margin:0;color:#c9c0b5;font-size:8px}
.checkin-options{display:grid;gap:8px}
.checkin-option{width:100%;border:1px solid rgba(122,108,88,.14);border-radius:17px;background:#fffaf1;padding:12px;display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;text-align:left;color:var(--ink);box-shadow:0 6px 16px rgba(53,42,31,.04)}
.checkin-option:active{transform:scale(.99)}
.checkin-option-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#171717;color:#f0dbb5;font-family:Georgia,serif;font-size:19px;font-weight:950}
.checkin-option-copy strong,.checkin-option-copy small{display:block}
.checkin-option-copy strong{font-size:11px}
.checkin-option-copy small{font-size:7px;color:var(--muted);margin-top:3px}
.checkin-option-points{text-align:right;font-family:Georgia,serif;font-size:17px;font-weight:950}
.checkin-option-points span{display:block;font-family:inherit;font-size:6px;color:#8d7554;margin-top:1px;text-transform:uppercase}
.checkin-option.quiz{background:#eee0c8}
.checkin-option.match{background:#f7efe3}
.checkin-event-list{display:grid;gap:4px;margin:-2px 5px 3px 54px}
.checkin-event-list>div{display:grid;grid-template-columns:42px 1fr;gap:7px;align-items:center;font-size:7px;color:#766a5b}
.checkin-event-list span{font-weight:950;color:#171717}
.checkin-event-list strong{font-weight:750}
.checkin-program-note{margin-top:10px;padding:10px 11px;border-radius:13px;background:#eee3d4;color:#665847;font-size:7.5px;line-height:1.45}
.checkin-login-card,.checkin-complete-card,.checkin-success-card{padding:20px;border-radius:21px;background:#fffaf1;border:1px solid rgba(122,108,88,.13);text-align:center}
.checkin-login-card>span{width:50px;height:50px;margin:0 auto 11px;border-radius:16px;display:grid;place-items:center;background:#171717;color:#f0dab2;font-size:23px}
.checkin-login-card h3,.checkin-complete-card h3,.checkin-success-card h3{margin:5px 0 6px;font-family:Georgia,serif;font-size:23px}
.checkin-login-card p,.checkin-complete-card p,.checkin-success-card p{font-size:8px;line-height:1.5;color:var(--muted)}
.checkin-login-card .secondary,.checkin-complete-card .secondary{margin-top:7px}
.checkin-complete-icon,.checkin-success-mark{width:54px;height:54px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:#171717;color:#f0dab2;font-size:22px;font-weight:950}
.checkin-complete-card.error .checkin-complete-icon{background:#7d3d35;color:white}
.checkin-success-card{color:white;background:radial-gradient(circle at 85% 5%,rgba(230,194,126,.28),transparent 32%),linear-gradient(145deg,#171717,#2c251d);border:0}
.checkin-success-card .eyebrow{color:#d9b77e}
.checkin-success-card h3{color:white;font-size:27px}
.checkin-success-card p{color:#c9c1b7}
.checkin-success-mark{background:#ead3a7;color:#171717}
.checkin-earned-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0 10px}
.checkin-earned-grid div{padding:10px 6px;border-radius:12px;background:rgba(255,255,255,.07)}
.checkin-earned-grid strong,.checkin-earned-grid span{display:block}
.checkin-earned-grid strong{font-size:15px}
.checkin-earned-grid span{margin-top:2px;font-size:6px;color:#c6bdb2}
.checkin-bonus,.checkin-next{margin:9px 0 13px;padding:10px;border-radius:12px;background:rgba(239,211,159,.14);color:#ead6b2;font-size:7.5px;line-height:1.4}
.checkin-success-card .primary{background:#ead3a7;color:#171717}
.club-checkin-info-card{background:#eee0c9!important}
@media(min-width:900px){
  .checkin-options{grid-template-columns:repeat(3,minmax(0,1fr))}
  .checkin-event-list{grid-column:1/-1;margin:0 8px 5px}
}


/* ===== Capital v15.1 - 12 Hour Check-in Cooldown ===== */
.checkin-cooldown-card{
  padding:20px;
  border-radius:21px;
  background:#fffaf1;
  border:1px solid rgba(122,108,88,.13);
  text-align:center;
}
.checkin-cooldown-icon{
  width:54px;height:54px;
  border-radius:18px;
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  background:#171717;
  color:#f0dab2;
  font-size:22px;
}
.checkin-cooldown-card h3{
  margin:5px 0 7px;
  font-family:Georgia,serif;
  font-size:22px;
}
.checkin-cooldown-card>p{
  font-size:8px;
  color:var(--muted);
}
.checkin-cooldown-time{
  margin:14px 0 10px;
  padding:13px;
  border-radius:14px;
  background:#eee1ce;
}
.checkin-cooldown-time strong,
.checkin-cooldown-time small{display:block}
.checkin-cooldown-time strong{
  font-size:11px;
  color:#4f412f;
}
.checkin-cooldown-time small{
  margin-top:4px;
  font-size:7px;
  color:#7b6b59;
}
.checkin-next-window{
  margin:9px 0 13px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.07);
  color:#cfc6bc;
  font-size:7px;
  line-height:1.4;
}


/* ===== Capital v15.2 - In-App QR Camera Scanner ===== */
.qrscan-card{
  padding:13px;
  border-radius:21px;
  background:#fffaf1;
  border:1px solid rgba(122,108,88,.13);
}
.qrscan-camera-wrap{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:18px;
  background:#111;
}
.qrscan-video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  background:#111;
}
.qrscan-canvas{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.qrscan-frame{
  position:absolute;
  inset:17%;
  pointer-events:none;
}
.qrscan-frame span{
  position:absolute;
  width:38px;
  height:38px;
  border-color:#f0d59e;
  border-style:solid;
}
.qrscan-frame span:nth-child(1){
  top:0;left:0;
  border-width:4px 0 0 4px;
  border-radius:8px 0 0 0;
}
.qrscan-frame span:nth-child(2){
  top:0;right:0;
  border-width:4px 4px 0 0;
  border-radius:0 8px 0 0;
}
.qrscan-frame span:nth-child(3){
  bottom:0;left:0;
  border-width:0 0 4px 4px;
  border-radius:0 0 0 8px;
}
.qrscan-frame span:nth-child(4){
  bottom:0;right:0;
  border-width:0 4px 4px 0;
  border-radius:0 0 8px 0;
}
.qrscan-loading{
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:9px;
  color:#f4ead9;
  background:rgba(10,10,10,.78);
  text-align:center;
  font-size:8px;
}
.qrscan-status{
  margin:10px 0 0;
  padding:10px 11px;
  border-radius:13px;
  background:#eee3d4;
  color:#665847;
  font-size:7.5px;
  line-height:1.45;
  text-align:center;
}
.qrscan-status.success{
  background:#dce8d6;
  color:#2f5b31;
}
.qrscan-status.error{
  background:#efe0dc;
  color:#7d3d35;
}
.qrscan-status.working{
  background:#eee1ce;
  color:#6c583d;
}
.qrscan-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:9px;
}
.qrscan-actions button{
  margin:0;
  min-height:42px;
}
.qrscan-file-input{
  display:none;
}
.qrscan-help{
  margin:9px 2px 0;
  color:#786b5d;
  font-size:6.8px;
  line-height:1.45;
  text-align:center;
}
@media(min-width:900px){
  .qrscan-card{
    max-width:560px;
  }
}


/* ===== Capital v15.5 - QR + Geofence Security ===== */
.location-check-card{
  padding:20px;
  border-radius:21px;
  background:#fffaf1;
  border:1px solid rgba(122,108,88,.13);
  text-align:center;
}
.location-check-card.success{
  background:#eef1e8;
  border-color:rgba(67,99,61,.18);
}
.location-check-card.error{
  background:#f4e9e4;
  border-color:rgba(125,61,53,.16);
}
.location-check-icon{
  width:56px;height:56px;
  margin:0 auto 12px;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:#171717;
  color:#f0dab2;
  font-size:23px;
  font-weight:950;
}
.location-check-card.success .location-check-icon{
  background:#395f3b;
  color:white;
}
.location-check-card.error .location-check-icon{
  background:#7d3d35;
  color:white;
}
.location-check-card h3{
  margin:5px 0 7px;
  font-family:Georgia,serif;
  font-size:22px;
}
.location-check-card>p{
  margin:0 auto;
  max-width:500px;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}
.account-loading.compact{
  min-height:70px;
  padding:12px 0 0;
}
.location-detail{
  margin:14px 0 12px;
  padding:11px;
  border-radius:13px;
  background:rgba(23,23,23,.06);
}
.location-detail strong,
.location-detail span{
  display:block;
}
.location-detail strong{
  font-size:9px;
}
.location-detail span{
  margin-top:4px;
  font-size:7px;
  color:#756859;
}
.location-detail.success{
  background:rgba(57,95,59,.08);
}
.location-privacy-note{
  margin-top:10px;
  padding:11px 12px;
  border-radius:14px;
  background:#eee3d4;
  display:grid;
  gap:4px;
}
.location-privacy-note strong{
  font-size:8px;
}
.location-privacy-note span{
  color:#6e6152;
  font-size:7px;
  line-height:1.45;
}


/* ===== Capital v15.6 - Google Sign-In ===== */
.google-auth-btn{
  width:100%;
  min-height:48px;
  padding:11px 14px;
  border:1px solid rgba(48,42,34,.16);
  border-radius:14px;
  background:#fff;
  color:#1f1f1f;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font:inherit;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(42,35,27,.04);
}
.google-auth-btn:active{
  transform:scale(.99);
}
.google-auth-icon{
  width:20px;
  height:20px;
  display:block;
  flex:0 0 auto;
}
.google-auth-icon svg{
  width:100%;
  height:100%;
  display:block;
}
.auth-divider{
  display:flex;
  align-items:center;
  gap:9px;
  margin:11px 2px;
  color:#8a7b69;
  font-size:6.5px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.auth-divider::before,
.auth-divider::after{
  content:"";
  height:1px;
  background:rgba(88,75,59,.16);
  flex:1;
}
.auth-divider span{
  white-space:nowrap;
}


/* ===== Capital v15.7 - KVKK & Privacy ===== */
.public-legal-links{
  margin:10px 3px 2px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:7px;
  color:#857765;
  font-size:6.8px;
}
.public-legal-links a{
  color:#6f604f;
  text-decoration:underline;
  text-underline-offset:2px;
}
.public-legal-links span{
  opacity:.45;
}
.google-privacy-note{
  margin:7px 2px 0;
  padding:9px 10px;
  border-radius:12px;
  background:#eee5d8;
  color:#6d6152;
  font-size:6.7px;
  line-height:1.45;
  text-align:center;
}
.google-privacy-note a,
.account-legal-note a{
  color:#4f4030;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
}
.privacy-ack-card{
  padding:18px;
  border-radius:21px;
  background:#fffaf1;
  border:1px solid rgba(122,108,88,.14);
}
.privacy-ack-icon{
  width:48px;height:48px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#171717;
  color:#efd7ac;
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:950;
}
.privacy-ack-card h3{
  margin:12px 0 6px;
  font-family:Georgia,serif;
  font-size:22px;
}
.privacy-ack-card>p{
  margin:0;
  color:var(--muted);
  font-size:8px;
  line-height:1.5;
}
.privacy-doc-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:13px 0;
}
.privacy-doc-actions a{
  min-height:42px;
  padding:9px;
  border-radius:12px;
  display:grid;
  place-items:center;
  text-align:center;
  background:#eee1ce;
  color:#493b2d;
  font-size:7px;
  font-weight:900;
}
.privacy-ack-check{
  padding:11px;
  border:1px solid rgba(105,87,65,.14);
  border-radius:13px;
  background:#f6eee2;
  display:grid;
  grid-template-columns:18px 1fr;
  gap:9px;
  align-items:start;
}
.privacy-ack-check input{
  width:17px;
  height:17px;
  margin:1px 0 0;
  accent-color:#171717;
}
.privacy-ack-check strong,
.privacy-ack-check small{
  display:block;
}
.privacy-ack-check strong{
  font-size:7.7px;
  line-height:1.35;
}
.privacy-ack-check small{
  margin-top:4px;
  color:#756757;
  font-size:6.5px;
  line-height:1.4;
}
.privacy-ack-check a{
  color:#493b2d;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:2px;
}
.signup-privacy-check{
  margin-top:2px;
}
.privacy-ack-card .primary{
  margin-top:10px;
}
@media(min-width:900px){
  .public-legal-links{font-size:11px}
  .privacy-ack-card{max-width:720px}
}


/* ===== Capital v15.8 - Refined neutral premium palette ===== */

/* Reduce beige saturation on secondary/informational surfaces */
.account-strip,
.club-checkin-info-card,
.checkin-program-note,
.location-privacy-note,
.google-privacy-note,
.privacy-ack-check,
.checkin-cooldown-time,
.location-detail,
.qrscan-status,
.checkin-program-note,
.checkin-question-card + .checkin-options + .checkin-program-note{
  border-color:rgba(86,78,68,.12);
}

.club-checkin-info-card{
  background:#f6f1e9!important;
}

.leaderboard-row.me{
  background:#f5efe6;
  border-color:#c7b492;
}

.checkin-program-note,
.location-privacy-note,
.google-privacy-note,
.qrscan-status,
.checkin-cooldown-time{
  background:#f1ece4;
  color:#625b53;
}

.privacy-ack-check,
.location-detail{
  background:#f7f3ec;
}

.privacy-doc-actions a{
  background:#f1ebe2;
  color:#403a34;
}

/* Keep warm gold only where it communicates hierarchy/action */
.view-title .eyebrow,
.upcoming-info .mini-tag,
.club-preview-card .eyebrow,
.checkin-question-card .eyebrow,
.checkin-success-card .eyebrow{
  color:#9b7d4f;
}

.checkin-success-mark,
.checkin-success-card .primary{
  background:#e4cfaa;
}

.checkin-option.quiz{
  background:#f1eadf;
}

.checkin-option.match{
  background:#f8f4ed;
}

/* Cards feel cleaner and closer to off-white */
.checkin-login-card,
.checkin-complete-card,
.privacy-ack-card,
.location-check-card,
.qrscan-card,
.leaderboard-row{
  background:#fffdf8;
}

/* Dark surfaces remain nearly black, but not harsh pure black */
.checkin-question-card,
.checkin-success-card{
  background:
    radial-gradient(circle at 90% 5%,rgba(181,145,88,.14),transparent 32%),
    linear-gradient(145deg,#161616,#25211c);
}

/* Public legal links stay understated */
.public-legal-links a{
  color:#5f574e;
}


/* ===== Capital v15.9 - Reservation day/time rules ===== */
.reservation-rule-note{
  margin:10px 0 14px;
  padding:12px 14px;
  border:1px solid rgba(86,78,68,.12);
  border-radius:15px;
  background:#f1ece4;
  color:#625b53;
}
.reservation-rule-note strong,
.reservation-rule-note span{
  display:block;
}
.reservation-rule-note strong{
  color:#2a2723;
  font-size:8.5px;
}
.reservation-rule-note span{
  margin-top:4px;
  font-size:7.2px;
  line-height:1.4;
}
.field-hint{
  display:block;
  margin:5px 2px 0;
  color:#7a7064;
  font-size:6.6px;
  line-height:1.35;
}
.form input:disabled{
  opacity:.55;
  cursor:not-allowed;
  background:#eeeae4;
}
@media(min-width:900px){
  .reservation-rule-note strong{font-size:12px}
  .reservation-rule-note span{font-size:10px}
  .field-hint{font-size:9px}
}


/* ===== Capital v16 - Founder Admin + Birthday Club ===== */
.birthday-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.birthday-fields label{margin:0}
.account-form select,
.admin-event-form select{
  width:100%;
  min-height:43px;
  border:1px solid rgba(86,78,68,.16);
  border-radius:12px;
  padding:0 11px;
  background:#fffdf8;
  color:var(--ink);
  font:inherit;
  font-size:8px;
}
.birthday-help{
  display:block;
  margin:-2px 2px 8px;
  color:#746b61;
  font-size:6.6px;
  line-height:1.4;
}
.birthday-push-toggle{margin-top:4px}
.profile-completion-note{
  margin:0 0 10px;
  padding:12px;
  border-radius:14px;
  background:#f1ebe2;
}
.profile-completion-note strong,
.profile-completion-note span{display:block}
.profile-completion-note strong{font-size:9px}
.profile-completion-note span{margin-top:4px;color:#6f6559;font-size:7px;line-height:1.4}

.admin-founder-card{
  width:100%;
  margin:10px 0;
  padding:13px;
  border:0;
  border-radius:17px;
  background:linear-gradient(145deg,#161616,#27221d);
  color:white;
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:10px;
  align-items:center;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.admin-founder-icon{
  width:42px;height:42px;
  border-radius:13px;
  display:grid;place-items:center;
  background:#e4cfaa;
  color:#161616;
  font-size:17px;
}
.admin-founder-card small,
.admin-founder-card strong,
.admin-founder-card span{display:block}
.admin-founder-card small{color:#bda67f;font-size:6px;letter-spacing:.08em}
.admin-founder-card strong{margin-top:2px;font-family:Georgia,serif;font-size:13px}
.admin-founder-card span{margin-top:3px;color:#c9c0b5;font-size:6.7px}
.admin-founder-card b{color:#e4cfaa;font-size:16px}

.birthday-account-card{
  width:100%;
  margin:10px 0;
  padding:12px;
  border:1px solid rgba(116,86,50,.13);
  border-radius:16px;
  background:#f4eadb;
  display:grid;
  grid-template-columns:42px 1fr auto;
  gap:10px;
  align-items:center;
  text-align:left;
  color:#2a251f;
}
.birthday-account-card>div{
  width:42px;height:42px;
  border-radius:13px;
  display:grid;place-items:center;
  background:#fff8eb;
  font-size:18px;
}
.birthday-account-card span strong,
.birthday-account-card span small{display:block}
.birthday-account-card span strong{font-size:9px}
.birthday-account-card span small{margin-top:3px;color:#76695a;font-size:6.7px}
.birthday-account-card.active{background:#e8dbc4}
.birthday-account-card.used{opacity:.75}
.birthday-account-card.setup{background:#f5f1ea}

.birthday-gift-card,
.birthday-proof-card{
  padding:20px;
  border-radius:21px;
  text-align:center;
  background:#fffdf8;
  border:1px solid rgba(86,78,68,.13);
}
.birthday-gift-card.ready{
  color:white;
  border:0;
  background:
    radial-gradient(circle at 85% 5%,rgba(181,145,88,.22),transparent 35%),
    linear-gradient(145deg,#161616,#29231d);
}
.birthday-gift-card.ready p{color:#d0c7bc}
.birthday-gift-card .eyebrow{color:#b59158}
.birthday-gift-icon{
  width:58px;height:58px;
  margin:0 auto 12px;
  border-radius:18px;
  display:grid;place-items:center;
  background:#f1e6d3;
  font-size:26px;
}
.birthday-gift-card h3,
.birthday-proof-card h3{
  margin:5px 0 7px;
  font-family:Georgia,serif;
  font-size:25px;
}
.birthday-gift-card p{font-size:8px;line-height:1.5;color:#71685d}
.birthday-proof-card{
  color:white;
  border:0;
  background:
    radial-gradient(circle at 50% 0%,rgba(214,177,108,.28),transparent 38%),
    linear-gradient(150deg,#131313,#2a231b);
}
.birthday-proof-top span,
.birthday-proof-top strong{display:block}
.birthday-proof-top span{font-size:6px;color:#c5ab7c;letter-spacing:.12em}
.birthday-proof-top strong{margin-top:3px;font-size:8px}
.birthday-proof-icon{font-size:48px;margin:18px 0 5px}
.birthday-proof-card p{color:#d3cbc1;font-size:8px}
.birthday-proof-member{
  margin:14px 0 9px;
  padding:10px;
  border-radius:12px;
  background:rgba(255,255,255,.07);
  font-weight:900;
  font-size:11px;
}
.birthday-proof-live{
  padding:12px;
  border-radius:14px;
  background:#e4cfaa;
  color:#171717;
}
.birthday-proof-live span,
.birthday-proof-live strong{display:block}
.birthday-proof-live span{font-size:6px;font-weight:900;letter-spacing:.1em}
.birthday-proof-live strong{margin-top:3px;font-size:25px;font-variant-numeric:tabular-nums}
.birthday-proof-card>small{
  display:block;
  margin-top:10px;
  color:#aba399;
  font-size:6.5px;
  line-height:1.4;
}
.birthday-proof-card.expired{opacity:.68}

.admin-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  margin-bottom:10px;
}
.admin-stats>div{
  padding:12px 7px;
  border-radius:14px;
  background:#fffdf8;
  border:1px solid rgba(86,78,68,.12);
  text-align:center;
}
.admin-stats strong,
.admin-stats span{display:block}
.admin-stats strong{font-family:Georgia,serif;font-size:20px}
.admin-stats span{margin-top:3px;color:#746b61;font-size:6px;line-height:1.25}

.admin-section{
  margin-top:10px;
  padding:14px;
  border-radius:18px;
  background:#fffdf8;
  border:1px solid rgba(86,78,68,.12);
}
.admin-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.admin-section-head h3{margin:2px 0 0;font-family:Georgia,serif;font-size:18px}
.admin-section-head button{
  border:0;border-radius:10px;padding:8px 10px;
  background:#eee8df;color:#443d35;font-size:7px;font-weight:850;
}
.admin-event-form{display:grid;gap:8px}
.admin-event-form>label,
.admin-form-grid label{
  display:grid;
  gap:5px;
  color:#62594f;
  font-size:7px;
  font-weight:800;
}
.admin-event-form input{
  width:100%;min-height:43px;
  border:1px solid rgba(86,78,68,.16);
  border-radius:12px;
  padding:0 11px;
  background:#fff;
  font:inherit;
  font-size:8px;
}
.admin-form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:7px;
}
.admin-form-grid.two{grid-template-columns:1fr 1fr}
.admin-active-toggle{margin:0}

.admin-event-list,
.admin-birthday-list{display:grid;gap:7px}
.admin-event-list article{
  padding:10px;
  border-radius:13px;
  background:#f7f3ec;
  display:grid;
  grid-template-columns:74px 1fr;
  gap:9px;
  position:relative;
}
.admin-event-list article.inactive{opacity:.52}
.admin-event-date strong,
.admin-event-date span,
.admin-event-copy small,
.admin-event-copy strong,
.admin-event-copy span{display:block}
.admin-event-date strong{font-size:7.3px}
.admin-event-date span{margin-top:3px;font-size:7px;color:#756b61}
.admin-event-copy small{font-size:5.8px;color:#9a7b4e}
.admin-event-copy strong{margin-top:2px;font-size:8.5px}
.admin-event-copy span{margin-top:2px;font-size:6.4px;color:#73695e}
.admin-event-actions{
  grid-column:1/-1;
  display:flex;
  gap:6px;
  justify-content:flex-end;
}
.admin-event-actions button{
  border:0;border-radius:9px;
  padding:7px 9px;
  background:#e9e2d8;
  color:#3e3831;
  font-size:6.5px;font-weight:850;
}
.admin-event-actions button.danger{background:#efe1dd;color:#7e3d36}
.admin-event-actions span{font-size:6px;color:#777}

.admin-birthday-list article{
  padding:10px;
  border-radius:13px;
  background:#f7f3ec;
  display:grid;
  grid-template-columns:38px 1fr auto;
  gap:8px;
  align-items:center;
}
.admin-birthday-icon{
  width:38px;height:38px;border-radius:12px;
  display:grid;place-items:center;
  background:#efe3d0;
}
.admin-birthday-list article>div:nth-child(2) strong,
.admin-birthday-list article>div:nth-child(2) span,
.admin-birthday-days strong,
.admin-birthday-days small{display:block}
.admin-birthday-list article>div:nth-child(2) strong{font-size:8.5px}
.admin-birthday-list article>div:nth-child(2) span{margin-top:2px;color:#71675d;font-size:6.5px}
.admin-birthday-days{text-align:right}
.admin-birthday-days strong{font-size:7.5px;color:#8c6d42}
.admin-birthday-days small{margin-top:2px;font-size:5.8px;color:#777}
.admin-info-note{
  margin-top:9px;
  padding:9px;
  border-radius:11px;
  background:#f0ebe4;
  color:#71685e;
  font-size:6.5px;
  line-height:1.4;
}

@media(min-width:900px){
  .birthday-help{font-size:9px}
  .admin-event-form input,.admin-event-form select{font-size:11px}
  .admin-stats span{font-size:8px}
}



/* ===== Capital v18 — Reservation Management ===== */
.reservation-storage-note{
  display:block;
  margin-top:-2px;
  color:#756c62;
  font-size:6.4px;
  line-height:1.45;
}
.reservation-storage-note a{color:#51483f;font-weight:850}
.admin-stats{grid-template-columns:repeat(2,1fr)}
.admin-reservation-list{display:grid;gap:8px}
.admin-reservation-card{
  padding:11px;
  border-radius:14px;
  background:#f7f3ec;
  border:1px solid rgba(86,78,68,.08);
}
.admin-reservation-card.is-cancelled{opacity:.58}
.admin-reservation-top{
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:8px;
  align-items:start;
}
.admin-reservation-when strong,
.admin-reservation-when span,
.admin-reservation-person strong,
.admin-reservation-person span{display:block}
.admin-reservation-when strong{font-size:7.4px}
.admin-reservation-when span{margin-top:3px;font-size:7px;color:#756b61}
.admin-reservation-person strong{font-size:9px}
.admin-reservation-person span{margin-top:2px;font-size:6.6px;color:#71675d}
.admin-reservation-status{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:0 8px;
  border-radius:999px;
  font-size:5.8px;
  font-weight:900;
  white-space:nowrap;
  background:#ede6dc;
  color:#62594e;
}
.admin-reservation-status.new{background:#f2e6c8;color:#745b2f}
.admin-reservation-status.confirmed{background:#dfecdd;color:#3f6642}
.admin-reservation-status.arrived{background:#dedfe8;color:#3f445f}
.admin-reservation-status.cancelled{background:#efe0dd;color:#7e4039}
.admin-reservation-event,
.admin-reservation-note{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid rgba(86,78,68,.10);
  color:#6f665c;
  font-size:6.5px;
  line-height:1.45;
}
.admin-reservation-event strong{color:#3d3832}
.admin-reservation-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.admin-reservation-actions button{
  border:0;
  border-radius:9px;
  padding:7px 9px;
  background:#e9e2d8;
  color:#3e3831;
  font-size:6.5px;
  font-weight:850;
}
.admin-reservation-actions button.confirm{background:#dfeadd;color:#3f6541}
.admin-reservation-actions button.arrived{background:#dedfe8;color:#444966}
.admin-reservation-actions button.cancel{background:#efe1dd;color:#7e3d36}
.admin-reservation-actions button.whatsapp{background:#e0ebe2;color:#365e3e}
@media(min-width:900px){
  .reservation-storage-note{font-size:9px}
  .admin-reservation-person strong{font-size:12px}
  .admin-reservation-person span,
  .admin-reservation-event,
  .admin-reservation-note{font-size:9px}
  .admin-reservation-status{font-size:8px}
  .admin-reservation-actions button{font-size:9px}
}


/* Capital v16.1 — password visibility toggle */
.password-input-wrap{
  position:relative;
  width:100%;
}
.password-input-wrap input{
  width:100%;
  padding-right:54px !important;
}
.password-eye-btn{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-43%);
  width:36px;
  height:36px;
  padding:0;
  border:0;
  border-radius:10px;
  background:transparent;
  display:grid;
  place-items:center;
  color:#6f6355;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.password-eye-btn:hover,
.password-eye-btn:focus-visible,
.password-eye-btn.is-visible{
  background:rgba(122,108,88,.10);
  color:#171717;
}
.password-eye-btn svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}


/* Capital v16.2 — live password match feedback */
.password-match-state{
  display:block;
  min-height:18px;
  margin:5px 4px 0;
  font-size:7.2px;
  font-weight:800;
  line-height:1.35;
  transition:color .15s ease;
}
.password-match-state.is-match{
  color:#3f7d4b;
}
.password-match-state.is-mismatch{
  color:#a43d35;
}
.password-input-wrap:has(+ .password-match-state.is-match) input{
  border-color:rgba(63,125,75,.55) !important;
  box-shadow:0 0 0 2px rgba(63,125,75,.08);
}
.password-input-wrap:has(+ .password-match-state.is-mismatch) input{
  border-color:rgba(164,61,53,.55) !important;
  box-shadow:0 0 0 2px rgba(164,61,53,.08);
}
@media(min-width:900px){
  .password-match-state{font-size:9px}
}


/* ===== Capital v18.5 — Distinct call/reservation icons + center QR nav ===== */
.top-call-icon,
.reservation-nav-icon,
.qr-nav-icon{
  display:flex;
  align-items:center;
  justify-content:center;
}
.top-call-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.top-call-action{color:#171717}

.bottom{
  grid-template-columns:repeat(5,1fr);
  overflow:visible;
}
.bottom button{min-width:0}
.reservation-nav-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.75;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bottom .reservation-nav{font-size:0}
.bottom .reservation-nav > span:last-child{
  font-size:8px;
  font-weight:800;
}
.bottom .qr-nav{
  position:relative;
  overflow:visible;
  background:transparent;
  color:#171717;
  transform:translateY(-10px);
  padding-top:0;
}
.bottom .qr-nav .qr-nav-icon{
  width:46px;
  height:46px;
  margin:-7px auto 0;
  border-radius:50%;
  background:#171717;
  color:#fff7ea;
  border:3px solid #f7f0e5;
  box-shadow:0 7px 17px rgba(0,0,0,.20);
}
.bottom .qr-nav .qr-nav-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bottom .qr-nav .qr-nav-label{
  margin-top:1px;
  color:#171717;
  font-size:7px;
  font-weight:950;
  white-space:nowrap;
}
.bottom .qr-nav.active{
  background:transparent;
  color:#171717;
}
.bottom .qr-nav.active .qr-nav-icon{
  background:#9b7a47;
  color:white;
}
.bottom .qr-nav.active .qr-nav-label{color:#171717}
@media(max-width:370px){
  .bottom button span{font-size:7px}
  .bottom .reservation-nav > span:last-child{font-size:7px}
  .bottom .qr-nav .qr-nav-icon{width:43px;height:43px}
  .bottom .qr-nav .qr-nav-label{font-size:6.6px}
}


/* ===== Capital v18.4 — Back to top ===== */
.capital-back-to-top{
  position:fixed;
  right:16px;
  bottom:94px;
  z-index:9997;
  width:44px;
  height:44px;
  border:1px solid rgba(35,31,27,.12);
  border-radius:50%;
  background:rgba(20,20,20,.92);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.capital-back-to-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.capital-back-to-top svg{
  width:19px;
  height:19px;
  stroke:currentColor;
  stroke-width:2.4;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(min-width:900px){
  .capital-back-to-top{
    right:24px;
    bottom:28px;
    width:46px;
    height:46px;
  }
}


/* ===== Capital Package 2 — Visual consistency & first-visit UX ===== */
button{
  color:inherit;
  font-family:inherit;
  -webkit-appearance:none;
  appearance:none;
}

/* Keep app installation available, but never make it the first-visit focus. */
.top-actions-v131{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.top-v11 .brand{
  width:58px;
  height:58px;
  overflow:hidden;
  border:1px solid rgba(122,108,88,.12);
  border-radius:14px;
  background:rgba(255,255,255,.45);
  display:grid;
  place-items:center;
}
.top-v11 .brand img{
  width:100%;
  height:100%;
  border-radius:0;
  object-fit:cover;
  mix-blend-mode:normal;
  transform:scale(1.1);
}

/* Drawer uses the same typography, palette and square logo treatment. */
.drawer .sheet{
  overflow-y:auto;
  background:#f7f0e5;
  color:var(--ink);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  padding:18px 20px max(24px,env(safe-area-inset-bottom));
}
.drawer-brand{
  display:grid;
  grid-template-columns:68px 1fr;
  align-items:center;
  gap:12px;
  margin:2px 0 18px;
  padding:10px;
  border:1px solid rgba(122,108,88,.13);
  border-radius:18px;
  background:#fbf6ed;
}
.drawer .drawer-brand img{
  width:68px;
  height:68px;
  margin:0;
  border-radius:16px;
  object-fit:cover;
  mix-blend-mode:normal;
  transform:scale(1.04);
}
.drawer-brand strong,
.drawer-brand small{display:block}
.drawer-brand strong{
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:1.05;
}
.drawer-brand small{
  margin-top:4px;
  color:var(--muted);
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.drawer .sheet>button{
  color:var(--ink);
  font-family:inherit;
  font-size:14px;
  line-height:1.2;
  border-bottom-color:rgba(122,108,88,.16);
}

/* Match/event color is semantic rather than month-based. */
.program-date.event,
.upcoming-card.collect .upcoming-date{
  background:#695032;
}

/* Neutralize browser-default blue controls. */
.map-card button,
.discover-info-card button,
.home-link-list button,
.menu-tabs-v12 button{
  color:var(--ink);
  -webkit-text-fill-color:currentColor;
}
.map-card button{
  background:#dfd5c6;
  border:1px solid rgba(122,108,88,.14);
}
.menu-tabs-v12 button.active{
  color:white;
  -webkit-text-fill-color:white;
}
.menu-content-v12 .menu-group h3{
  color:var(--ink);
}

/* Date/time inputs stay inside their columns and remain opaque on iOS. */
.form-two{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
.form-two label,
.form-two input{
  min-width:0;
  max-width:100%;
}
.form-two input[type="date"],
.form-two input[type="time"]{
  width:100%;
  min-height:48px;
  background-color:#fffdf8!important;
  color:var(--ink);
  color-scheme:light;
  opacity:1;
}
.form-two input[type="date"]::-webkit-date-and-time-value,
.form-two input[type="time"]::-webkit-date-and-time-value{
  min-width:0;
  text-align:left;
}
.form-two input:disabled{
  background-color:#f1ece4!important;
  color:#7a7064;
  -webkit-text-fill-color:#7a7064;
  opacity:1;
}

/* Capital v21.2.2 — mobile reservation fields never share a narrow row. */
.reservation-date-time{
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}
.reservation-date-time>label{
  display:grid;
  min-width:0;
  width:100%;
}
.reservation-date-time input[type="date"],
.reservation-date-time input[type="time"]{
  display:block;
  inline-size:100%;
  min-inline-size:0;
  max-inline-size:100%;
}

@media(min-width:700px){
  .reservation-date-time{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px){
  .lightbox{padding:12px}
  .lightbox-stage{width:100%;height:82vh}
  .lightbox-nav{width:40px;height:54px;background:rgba(255,255,255,.82)}
  .lightbox-prev{left:2px}.lightbox-next{right:2px}
  .lightbox-position{bottom:6px}
}

/* Reservation actions share one visual language. */
.primary-v12,
.whatsapp-v12{
  width:100%;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #171717;
  border-radius:15px;
  background:#171717;
  color:white;
  -webkit-text-fill-color:white;
  padding:13px 15px;
  font-family:inherit;
  font-size:11px;
  font-weight:900;
  line-height:1.25;
  text-align:center;
}
.primary-v12:disabled{
  opacity:.68;
  cursor:wait;
}

/* All Capital Club levels use two-letter typographic monograms. */
.tier-badge>span,
.level-row .tier-badge>span,
.tier-badge.small>span{
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  font-weight:950;
  line-height:1;
  letter-spacing:.06em;
}
.tier-badge.small>span{font-size:10px}

@media(min-width:900px){
  .top-v11 .brand{
    width:64px;
    height:64px;
  }
}

@media(max-width:370px){
  .drawer .sheet>button{font-size:13px}
  .primary-v12,.whatsapp-v12{font-size:10px}
}

/* Capital v21.2 — accessibility, resilient updates, point redemption and admin point credits */
[hidden]{display:none!important}

.skip-link{
  position:fixed;
  z-index:1000;
  top:8px;
  left:50%;
  padding:10px 14px;
  border-radius:12px;
  background:#111;
  color:#fff;
  font-size:13px;
  font-weight:850;
  text-decoration:none;
  transform:translate(-50%,-160%);
  transition:transform .18s ease;
}
.skip-link:focus{transform:translate(-50%,0)}

:where(button,a,input,select,textarea,[role="button"]):focus-visible{
  outline:3px solid #8f6f40;
  outline-offset:3px;
}

.update-banner{
  position:fixed;
  z-index:950;
  top:max(10px,env(safe-area-inset-top));
  left:50%;
  width:min(calc(100% - 28px),430px);
  transform:translateX(-50%);
  padding:10px 12px;
  border:1px solid rgba(239,220,185,.34);
  border-radius:15px;
  background:#171717;
  color:#fff;
  box-shadow:0 15px 35px rgba(0,0,0,.25);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:11px;
  font-weight:750;
}
.update-banner button{
  flex:0 0 auto;
  border:0;
  border-radius:10px;
  padding:8px 10px;
  background:#ead4ac;
  color:#18130c;
  font-size:10px;
  font-weight:900;
}

body.modal-open{overflow:hidden}

.redemption-intro,
.redemption-request-card,
.redemption-active-card,
.redemption-history,
.admin-redemption-card,
.system-diagnostic-card{
  border:1px solid rgba(122,108,88,.15);
  border-radius:20px;
  background:#fffdf8;
  box-shadow:0 10px 28px rgba(33,27,20,.06);
}

.club-redeem-cta{
  width:100%;
  margin-top:10px;
  border:1px solid rgba(239,220,185,.2);
  border-radius:14px;
  padding:10px;
  background:#efdcb9;
  color:#201a12;
  display:grid;
  grid-template-columns:34px 1fr auto;
  align-items:center;
  gap:9px;
  text-align:left;
}
.club-redeem-cta>span{
  width:34px;
  height:34px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:#171717;
  color:#efdcb9;
  font-family:Georgia,serif;
  font-size:16px;
  font-weight:900;
}
.club-redeem-cta strong,.club-redeem-cta small{display:block}
.club-redeem-cta strong{font-size:9px}
.club-redeem-cta small{margin-top:3px;font-size:6.7px;color:#66533a}
.club-redeem-cta b{font-size:15px}

.redemption-intro{
  padding:17px;
  background:linear-gradient(145deg,#171717,#2a241d);
  color:#fff;
}
.redemption-intro-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.redemption-intro .eyebrow{color:#d8bd8e}
.redemption-intro h3{
  margin:4px 0 0;
  font-family:Georgia,serif;
  font-size:21px;
}
.redemption-balance{text-align:right}
.redemption-balance strong,
.redemption-balance span{display:block}
.redemption-balance strong{font-family:Georgia,serif;font-size:25px;color:#efdcb9}
.redemption-balance span{margin-top:2px;font-size:8px;color:#d5cab9}
.redemption-intro p:last-child{margin:12px 0 0;color:#d6cec2;font-size:10px;line-height:1.55}

.redemption-request-card,
.redemption-active-card,
.redemption-history{margin-top:10px;padding:15px}
.redemption-request-card h3,
.redemption-active-card h3,
.redemption-history h3{margin:0;font-family:Georgia,serif;font-size:17px}
.redemption-request-card>p,
.redemption-active-card>p,
.redemption-history>p{margin:6px 0 0;color:#746b61;font-size:9px;line-height:1.5}
.redemption-form{display:grid;gap:10px;margin-top:13px}
.redemption-form label,
.admin-redemption-form label{display:grid;gap:5px;color:#5e554b;font-size:8px;font-weight:850;letter-spacing:.03em}
.redemption-form input,
.admin-redemption-form input{
  width:100%;
  min-height:44px;
  border:1px solid #d8cdbd;
  border-radius:13px;
  background:#fff;
  color:#171717;
  padding:10px 12px;
  font-size:12px;
}
.redemption-form small,
.admin-redemption-form small{color:#80766b;font-size:7.5px;line-height:1.45}
.redemption-rule-list{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}
.redemption-rule-list li{display:flex;gap:8px;align-items:flex-start;color:#6a6158;font-size:8.5px;line-height:1.45}
.redemption-rule-list li::before{content:'✓';color:#8c6d42;font-weight:950}
.redemption-rule-list strong{color:#292521}

.redemption-code{
  margin-top:13px;
  padding:14px;
  border-radius:17px;
  background:#171717;
  color:#fff;
  text-align:center;
}
.redemption-code span,
.redemption-code strong,
.redemption-code small{display:block}
.redemption-code span{font-size:7px;letter-spacing:.13em;color:#c9b58f}
.redemption-code strong{margin-top:5px;font:800 31px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:#efdcb9}
.redemption-code small{margin-top:7px;font-size:8px;color:#d6cec2}
.redemption-active-actions{display:flex;gap:7px;margin-top:10px}
.redemption-active-actions button{flex:1}

.redemption-history-list{display:grid;gap:7px;margin-top:11px}
.redemption-history-row{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px;
  padding:10px;
  border-radius:13px;
  background:#faf5eb;
}
.redemption-history-row strong,
.redemption-history-row small,
.redemption-history-row span{display:block}
.redemption-history-row strong{font-size:9px}
.redemption-history-row small{margin-top:3px;color:#796f65;font-size:7px}
.redemption-status{
  border-radius:999px;
  padding:5px 7px;
  background:#e8e4dd;
  color:#5f574e;
  font-size:7px;
  font-weight:900;
  white-space:nowrap;
}
.redemption-status.pending{background:#f2e6c8;color:#745b2f}
.redemption-status.approved{background:#dfecdd;color:#3f6642}
.redemption-status.cancelled,.redemption-status.expired{background:#efe0dd;color:#7e4039}

.admin-redemption-list{display:grid;gap:9px}
.admin-redemption-card{padding:13px}
.admin-redemption-card.is-closed{opacity:.64}
.admin-redemption-top{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:9px;
}
.admin-redemption-code{
  min-width:68px;
  border-radius:12px;
  padding:9px 8px;
  background:#171717;
  color:#efdcb9;
  font:800 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.08em;
  text-align:center;
}
.admin-redemption-member strong,
.admin-redemption-member small{display:block}
.admin-redemption-member strong{font-size:9px}
.admin-redemption-member small{margin-top:3px;color:#756b61;font-size:7px}
.admin-redemption-meta{text-align:right}
.admin-redemption-meta strong,
.admin-redemption-meta small{display:block}
.admin-redemption-meta strong{font-size:9px;color:#765d36}
.admin-redemption-meta small{margin-top:3px;font-size:7px;color:#756b61}
.admin-redemption-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.admin-redemption-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}
.admin-redemption-actions button{
  min-height:38px;
  border:0;
  border-radius:12px;
  padding:9px 11px;
  font-size:8.5px;
  font-weight:900;
}
.admin-redemption-actions .approve{background:#171717;color:#f0dcb8}
.admin-redemption-actions .cancel{background:#efe1dd;color:#7e3d36}
.admin-redemption-result{margin-top:9px;color:#6c6258;font-size:7.5px;line-height:1.5}
.admin-redemption-archive{margin-top:11px}
.admin-redemption-archive summary{cursor:pointer;color:#6d5a3d;font-size:8px;font-weight:900}
.admin-redemption-archive .admin-redemption-list{margin-top:8px}

.admin-point-grant-note{margin-bottom:11px}
.admin-point-grant-form{display:grid;gap:10px}
.admin-point-grant-form label{
  display:grid;
  gap:5px;
  color:#5e554b;
  font-size:8px;
  font-weight:850;
  letter-spacing:.03em;
}
.admin-point-grant-form input,
.admin-point-grant-form select{
  width:100%;
  min-height:44px;
  border:1px solid #d8cdbd;
  border-radius:13px;
  background:#fff;
  color:#171717;
  padding:10px 12px;
  font-size:11px;
}
.admin-point-grant-form small{color:#80766b;font-size:7.5px;line-height:1.45}
.admin-point-member-status{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 10px;
  padding:10px 11px;
  border-radius:13px;
  background:#f7f1e7;
}
.admin-point-member-status strong,
.admin-point-member-status span,
.admin-point-member-status b{display:block}
.admin-point-member-status strong{font-size:9px}
.admin-point-member-status span{grid-column:1;color:#766c61;font-size:7px;word-break:break-word}
.admin-point-member-status b{grid-column:2;grid-row:1/3;align-self:center;color:#775d38;font-size:8px;text-align:right;white-space:nowrap}
.admin-point-grant-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.admin-point-quick-values{display:flex;gap:7px}
.admin-point-quick-values button{
  min-height:34px;
  flex:1;
  border:0;
  border-radius:11px;
  background:#eee6d9;
  color:#453a2d;
  font-size:8px;
  font-weight:900;
}
.admin-point-grant-submit{width:100%;min-height:44px}
.admin-point-grant-history{margin-top:12px}
.admin-point-grant-history summary{cursor:pointer;color:#6d5a3d;font-size:8px;font-weight:900}
.admin-point-grant-history-list{display:grid;gap:7px;margin-top:8px}
.admin-point-grant-history-list article{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:8px;
  padding:10px;
  border-radius:13px;
  background:#faf5eb;
}
.admin-point-grant-history-list strong,
.admin-point-grant-history-list small{display:block}
.admin-point-grant-history-list strong{font-size:8.5px}
.admin-point-grant-history-list small{margin-top:3px;color:#766c61;font-size:7px;line-height:1.4}
.admin-point-grant-history-list b{color:#3f6642;font-size:9px;white-space:nowrap}

button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}

.system-diagnostic-card{padding:14px}
.system-diagnostic-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.system-diagnostic-grid>div{padding:10px;border-radius:13px;background:#f7f1e7}
.system-diagnostic-grid strong,
.system-diagnostic-grid span{display:block}
.system-diagnostic-grid strong{font-size:8px}
.system-diagnostic-grid span{margin-top:3px;color:#746b61;font-size:7px;word-break:break-word}
.system-diagnostic-errors{margin-top:8px;padding:10px;border-radius:13px;background:#f7f1e7;color:#746b61;font-size:7.5px;line-height:1.5}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

@media(min-width:700px){
  .redemption-form label,
  .admin-redemption-form label,
  .admin-point-grant-form label{font-size:10px}
  .redemption-intro p:last-child,
  .redemption-request-card>p,
  .redemption-active-card>p,
  .redemption-history>p{font-size:11px}
  .redemption-rule-list li{font-size:10px}
}

@media(max-width:520px){
  .admin-point-grant-grid{grid-template-columns:1fr}
  .admin-point-member-status{grid-template-columns:1fr}
  .admin-point-member-status b{grid-column:1;grid-row:auto;text-align:left}
}


/* Capital v21.2 — BOSS panel, member search and point-push visibility */
.admin-boss-overview{
  display:grid;
  grid-template-columns:48px 1fr auto;
  align-items:center;
  gap:11px;
  margin-bottom:10px;
  padding:14px;
  border-radius:19px;
  background:radial-gradient(circle at 90% 0%,rgba(228,188,112,.25),transparent 38%),linear-gradient(145deg,#171717,#2b251e);
  color:#fff;
  box-shadow:0 14px 30px rgba(27,22,17,.13);
}
.admin-boss-mark{
  width:48px;
  height:48px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#e3bd75,#f6e3b6);
  color:#21180d;
  font-family:Georgia,serif;
  font-size:24px;
  font-weight:950;
}
.admin-boss-overview .eyebrow{margin:0;color:#d9b97f}
.admin-boss-overview strong,
.admin-boss-overview span{display:block}
.admin-boss-overview strong{margin-top:3px;font-family:Georgia,serif;font-size:15px}
.admin-boss-overview span{margin-top:4px;color:#cfc6ba;font-size:7px;line-height:1.4}
.admin-boss-overview>button{
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:11px;
  background:rgba(255,255,255,.08);
  color:#f3dfb9;
  font-size:17px;
  font-weight:900;
}

.admin-quick-nav{
  position:sticky;
  z-index:18;
  top:72px;
  display:flex;
  gap:6px;
  margin:0 -2px 10px;
  padding:6px;
  overflow-x:auto;
  border:1px solid rgba(122,108,88,.14);
  border-radius:15px;
  background:rgba(243,236,223,.96);
  box-shadow:0 8px 20px rgba(35,28,20,.08);
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.admin-quick-nav::-webkit-scrollbar{display:none}
.admin-quick-nav button{
  flex:1 0 66px;
  min-height:45px;
  border:0;
  border-radius:11px;
  background:#fffdf8;
  color:#40382f;
  padding:6px 5px;
  font-size:6.7px;
  font-weight:900;
  white-space:nowrap;
}
.admin-quick-nav button span{
  display:block;
  margin-bottom:3px;
  color:#8a6939;
  font-size:11px;
  line-height:1;
}
.admin-section{
  scroll-margin-top:145px;
  content-visibility:auto;
  contain-intrinsic-size:auto 520px;
}
#capitalAdminDynamic.is-refreshing{cursor:progress}
#capitalAdminDynamic.is-refreshing .admin-boss-overview>button{opacity:.55;pointer-events:none}

.admin-member-search input[type="search"]{
  padding-right:36px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23766c61' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E") right 12px center/16px no-repeat;
}
.admin-boss-mini-badge{
  display:inline-flex;
  margin-left:5px;
  padding:3px 5px;
  border-radius:999px;
  background:#171717;
  color:#efdcb9;
  font-style:normal;
  font-size:5.5px;
  letter-spacing:.09em;
  vertical-align:middle;
}
.admin-point-push-status{
  display:inline-flex!important;
  width:max-content;
  margin-top:5px!important;
  padding:4px 6px;
  border-radius:999px;
  background:#ece7df;
  color:#625a51!important;
  font-size:6px!important;
  font-weight:900;
}
.admin-point-push-status.sent{background:#dfeadd;color:#3f6541!important}
.admin-point-push-status.pending,
.admin-point-push-status.processing{background:#f2e6c8;color:#745b2f!important}
.admin-point-push-status.failed{background:#efe0dd;color:#7e4039!important}
.admin-point-push-status.skipped,
.admin-point-push-status.legacy{background:#e8e4dd;color:#686058!important}

@media(min-width:700px){
  .admin-boss-overview strong{font-size:19px}
  .admin-boss-overview span{font-size:9px}
  .admin-quick-nav button{font-size:8px}
  .admin-point-push-status{font-size:7.5px!important}
}

@media(max-width:370px){
  .admin-boss-overview{grid-template-columns:42px 1fr auto;padding:12px;gap:9px}
  .admin-boss-mark{width:42px;height:42px;border-radius:13px;font-size:21px}
  .admin-boss-overview strong{font-size:13px}
  .admin-boss-overview span{font-size:6.4px}
}

/* ===== Capital v21.2.3 — Simplified home navigation ===== */
/* The logo frame now shares the same height and corner radius as the header actions. */
.top-v11{
  grid-template-columns:42px 50px 1fr;
  gap:6px;
}
.top-v11 .brand{
  width:43px;
  height:43px;
  border-radius:11px;
  justify-self:center;
}

@media(min-width:900px){
  .top-v11{
    grid-template-columns:48px 62px 1fr;
  }
  .top-v11 .brand{
    width:50px;
    height:50px;
    border-radius:11px;
  }
}

/* ===== Capital v22.0 — BOSS MFA and live check-in ===== */
.admin-mfa-card{
  width:min(100%,520px);
  margin:14px auto 4px;
  padding:22px;
  border:1px solid rgba(107,84,48,.18);
  border-radius:22px;
  background:radial-gradient(circle at 92% 0%,rgba(229,190,114,.22),transparent 34%),#fffdf8;
  box-shadow:0 16px 38px rgba(32,25,17,.1);
  text-align:center;
}
.admin-mfa-card h3{margin:6px 0 8px;font-family:Georgia,serif;font-size:24px;line-height:1.06}
.admin-mfa-card>p:not(.eyebrow){margin:0 auto 14px;max-width:410px;color:#6c6257;font-size:10px;line-height:1.55}
.admin-mfa-card>.primary,
.admin-mfa-card>.secondary{width:100%;margin-top:8px;min-height:46px}
.admin-mfa-mark{
  width:60px;height:60px;margin:0 auto 11px;border-radius:18px;
  display:grid;place-items:center;background:linear-gradient(145deg,#171717,#33291d);
  color:#efd39a;font:950 30px Georgia,serif;box-shadow:0 10px 22px rgba(26,20,13,.16)
}
.admin-mfa-note{
  margin:12px 0;padding:11px;border-radius:13px;background:#f0e7d8;
  color:#5f513d;font-size:8px;line-height:1.5;text-align:left
}
.admin-mfa-code-label{display:grid;gap:7px;margin:15px 0 5px;color:#5b5147;font-size:8px;font-weight:900;text-align:left}
.admin-mfa-code{
  width:100%;min-height:54px;border:1px solid rgba(91,72,43,.22);border-radius:14px;
  background:#fff;color:#171717;font:900 25px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  text-align:center;letter-spacing:.32em;font-variant-numeric:tabular-nums
}
.admin-mfa-qr{
  display:block;width:min(100%,260px);height:auto;margin:14px auto;padding:10px;
  border:1px solid rgba(60,50,38,.14);border-radius:18px;background:#fff
}
.admin-mfa-secret{margin:10px 0 14px;padding:10px;border-radius:12px;background:#f2ede5;text-align:left}
.admin-mfa-secret summary{cursor:pointer;color:#655a4e;font-size:8px;font-weight:900}
.admin-mfa-secret code{display:block;margin-top:9px;overflow-wrap:anywhere;color:#211d18;font-size:10px;line-height:1.5;user-select:all}

.admin-security-chip{
  display:inline-flex;padding:6px 8px;border-radius:999px;background:#202018;color:#ead5aa;
  font-size:6px;font-weight:950;letter-spacing:.08em;white-space:nowrap
}
.admin-live-checkin-section{
  background:radial-gradient(circle at 100% 0%,rgba(220,179,100,.2),transparent 34%),#fffdf8
}
.admin-live-checkin-layout{display:grid;grid-template-columns:minmax(0,250px) 1fr;gap:18px;align-items:center}
.admin-live-qr-shell{min-width:0;text-align:center}
.admin-live-qr{
  width:min(100%,270px);aspect-ratio:1;margin:0 auto;padding:9px;border:1px solid rgba(51,42,31,.14);
  border-radius:19px;background:#fff;display:grid;place-items:center;overflow:hidden
}
.admin-live-qr canvas,
.admin-live-qr img,
.admin-live-qr svg{display:block!important;width:100%!important;height:100%!important;image-rendering:auto}
.admin-live-qr-countdown{margin-top:8px;color:#5f564c;font-size:8px;font-weight:900;font-variant-numeric:tabular-nums}
.admin-live-qr-countdown.is-expiring{color:#8a3f34}
.admin-live-checkin-copy>strong{display:block;font-family:Georgia,serif;font-size:19px;line-height:1.12}
.admin-live-checkin-copy>p{margin:7px 0 11px;color:#6f655b;font-size:9px;line-height:1.55}
.admin-live-checkin-copy>small{display:block;margin-top:9px;color:#7f7469;font-size:7px;line-height:1.45}
.admin-live-checkin-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.admin-live-checkin-actions button{min-height:44px;margin:0;font-size:8px}
.admin-live-qr-error,.admin-live-qr-stopped{padding:18px;color:#6e6256;font-size:9px;line-height:1.5}

@media(max-width:620px){
  .admin-live-checkin-layout{grid-template-columns:1fr;gap:13px}
  .admin-live-checkin-copy{text-align:center}
  .admin-live-checkin-copy>p{font-size:8px}
  .admin-mfa-card{padding:17px}
  .admin-mfa-card h3{font-size:21px}
}

@media(min-width:700px){
  .admin-mfa-card>p:not(.eyebrow){font-size:12px}
  .admin-mfa-note,.admin-mfa-code-label{font-size:10px}
  .admin-live-checkin-copy>p{font-size:11px}
  .admin-live-checkin-copy>small{font-size:9px}
  .admin-live-qr-countdown{font-size:10px}
}

/* ===== Capital v22.1 — Turkish / English language switch ===== */
.top-actions-v131{
  grid-template-columns:repeat(3,minmax(0,1fr)) 54px;
}
.capital-language-switch{
  min-width:54px;
  height:43px;
  padding:3px;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-self:center;
  border:1px solid rgba(122,108,88,.15);
  border-radius:11px;
  background:rgba(255,255,255,.48);
}
.capital-language-switch button{
  min-width:0;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#756a5e;
  font-size:6px;
  font-weight:950;
  letter-spacing:.04em;
}
.capital-language-switch button.active{
  background:#171717;
  color:#f4e7d1;
  box-shadow:0 3px 9px rgba(23,23,23,.12);
}
.capital-language-switch button:focus-visible{
  outline:2px solid #9a7040;
  outline-offset:1px;
}
@media(max-width:370px){
  .top-actions-v131{grid-template-columns:repeat(3,minmax(0,1fr)) 48px}
  .capital-language-switch{min-width:48px}
}
@media(min-width:900px){
  .capital-language-switch{height:50px}
  .capital-language-switch button{font-size:7px}
}

/* ===== Capital v22.2 — restricted staff QR panel ===== */
.member-badge.staff{background:#24352e;color:#d8efe2}
.staff-access-card{
  width:100%;margin:12px 0;padding:15px;border:0;border-radius:17px;
  display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;text-align:left;
  background:linear-gradient(145deg,#20352d,#16231e);color:#f5fbf7;
  box-shadow:0 12px 25px rgba(17,39,30,.16)
}
.staff-access-icon,.staff-welcome-mark{
  display:grid;place-items:center;background:#d9ede1;color:#20352d;font-weight:950
}
.staff-access-icon{width:42px;height:42px;border-radius:13px;font-size:20px}
.staff-access-card small,.staff-access-card strong,.staff-access-card span{display:block}
.staff-access-card small{color:#a9cbb8;font-size:6px;font-weight:950;letter-spacing:.08em}
.staff-access-card strong{margin-top:2px;font-family:Georgia,serif;font-size:13px}
.staff-access-card span{margin-top:3px;color:#cadbd1;font-size:6.7px}
.staff-access-card b{color:#d9ede1;font-size:16px}

.staff-welcome-card{
  padding:16px;border:1px solid rgba(56,94,73,.18);border-radius:19px;
  display:grid;grid-template-columns:52px 1fr;gap:13px;align-items:center;
  background:radial-gradient(circle at 100% 0%,rgba(94,146,113,.18),transparent 42%),#fbfdfb
}
.staff-welcome-mark{width:52px;height:52px;border-radius:16px;font-size:25px}
.staff-welcome-card strong{display:block;font-family:Georgia,serif;font-size:18px}
.staff-welcome-card span{display:block;margin-top:4px;color:#637067;font-size:8px;line-height:1.45}
.staff-reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:13px}
.staff-reason-button{
  min-height:112px;padding:13px 9px;border:1px solid rgba(64,78,68,.13);border-radius:17px;
  display:grid;justify-items:center;align-content:center;gap:5px;background:#fff;color:#222;
  box-shadow:0 8px 20px rgba(32,42,35,.06)
}
.staff-reason-button>span{font-size:24px;line-height:1}
.staff-reason-button>strong{font-family:Georgia,serif;font-size:12px;text-align:center}
.staff-reason-button>small{color:#6e746f;font-size:7px;font-weight:850}
.staff-reason-button.visit>span{color:#315b45}
.staff-reason-button.match>span{color:#324b68}
.staff-reason-button.quiz>span{color:#765a2e}
.staff-security-note{margin-top:12px;padding:12px 13px;border-radius:14px;background:#edf3ef;color:#425248}
.staff-security-note strong,.staff-security-note span{display:block}
.staff-security-note strong{font-size:9px}
.staff-security-note span{margin-top:3px;font-size:7px;line-height:1.5}
.staff-qr-card{
  width:min(100%,430px);margin:0 auto;padding:20px;border:1px solid rgba(55,85,67,.17);
  border-radius:22px;background:#fbfdfb;text-align:center;box-shadow:0 15px 34px rgba(26,49,35,.1)
}
.staff-qr-card h3{margin:5px 0 13px;font-family:Georgia,serif;font-size:21px}
.staff-qr-shell{width:min(100%,280px);margin:0 auto;padding:10px;border-radius:20px;background:#fff;border:1px solid rgba(35,57,44,.14)}
.staff-qr-shell.is-used{border-color:#4d8c66;box-shadow:0 0 0 4px rgba(77,140,102,.12)}
.staff-qr canvas,.staff-qr img,.staff-qr svg{display:block!important;width:100%!important;height:auto!important}
.staff-qr-status{display:block;margin:10px 0 4px;color:#315b45;font-size:10px;font-variant-numeric:tabular-nums}
.staff-qr-status.is-expiring{color:#9b5b31}
.staff-qr-card>small{display:block;margin-bottom:12px;color:#69736d;font-size:7px}
.staff-qr-card>.primary,.staff-qr-card>.secondary{width:100%;margin-top:7px;min-height:44px}

.admin-staff-form{display:grid;grid-template-columns:1.2fr 1fr auto;gap:9px;align-items:end;margin-top:12px}
.admin-staff-form label{display:grid;gap:5px;color:#62594f;font-size:7px;font-weight:900}
.admin-staff-form select,.admin-staff-form input{min-height:42px;padding:0 11px;border:1px solid rgba(69,58,45,.16);border-radius:11px;background:#fff;color:#222}
.admin-staff-form button{min-height:42px;margin:0;white-space:nowrap}
.admin-staff-list{display:grid;gap:7px;margin-top:12px}
.admin-staff-row{padding:11px;border:1px solid rgba(70,60,48,.12);border-radius:13px;display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;background:#fff}
.admin-staff-row strong,.admin-staff-row small{display:block}
.admin-staff-row small{margin-top:2px;color:#756c63;font-size:7px}
.admin-staff-row>span{padding:5px 7px;border-radius:999px;background:#deeee4;color:#315b45;font-size:6px;font-weight:950}
.admin-staff-row.inactive>span{background:#eee9e2;color:#776c5f}
.admin-staff-row>button{min-height:34px;padding:0 10px;border:1px solid rgba(70,60,48,.15);border-radius:9px;background:#f7f3ed;font-size:7px;font-weight:900}
.admin-checkin-welcome{margin-top:12px}
.admin-team-notification-form{display:grid;gap:10px;margin-top:12px}
.admin-team-notification-form label{display:grid;gap:5px;color:#62594f;font-size:7px;font-weight:900}
.admin-team-notification-form input,.admin-team-notification-form textarea{
  width:100%;padding:11px;border:1px solid rgba(69,58,45,.16);border-radius:11px;
  background:#fff;color:#222;font-family:inherit;font-size:16px;line-height:1.45;resize:vertical
}
.admin-team-notification-form input{min-height:42px}
.admin-team-notification-form textarea{min-height:86px;line-height:1.5}
.admin-team-notification-form small{color:#81766b;font-size:6.5px}
.admin-team-notification-form .primary{justify-self:start;min-width:150px}

@media(max-width:620px){
  .admin-team-notification-form textarea{resize:none}
  .staff-reason-grid{grid-template-columns:1fr}
  .staff-reason-button{min-height:78px;grid-template-columns:42px 1fr;justify-items:start;text-align:left}
  .staff-reason-button>span{grid-row:1/3}
  .staff-reason-button>strong{align-self:end;font-size:13px}
  .staff-reason-button>small{align-self:start}
  .admin-staff-form{grid-template-columns:1fr}
  .admin-staff-row{grid-template-columns:1fr auto}
  .admin-staff-row>button{grid-column:1/-1}
}
