:root{
  --bg:#f7f6f2;
  --bg-2:#ece8df;
  --paper:rgba(255,252,247,.92);
  --paper-strong:rgba(255,255,255,.98);
  --ink:#111;
  --muted:#5d5348;
  --line:rgba(53,35,19,.12);
  --amber:#d6a84a;
  --amber-deep:#8c5512;
  --danger:#a44c38;
  --success:#285226;
  --success-bg:rgba(77,123,73,.13);
  --error-bg:rgba(164,76,56,.14);
  --info:#295ea6;
  --info-bg:rgba(41,94,166,.12);
  --max:1120px;
  --radius-xl:28px;
  --radius-lg:20px;
  --radius-md:14px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:"Avenir Next","Inter","Segoe UI",sans-serif;
  --shadow:0 22px 70px rgba(68,42,18,.14);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:var(--font);color:var(--ink);background:radial-gradient(circle at top right, rgba(214,168,74,.08), transparent 20%),linear-gradient(180deg,#fbfaf7 0%,var(--bg) 46%,var(--bg-2) 100%);min-height:100vh;min-height:calc(var(--app-viewport-height,100vh));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--app-keyboard-inset,0px));transition:padding-bottom .18s ease} 
body[data-app-env="dev"]{background:radial-gradient(circle at top right, rgba(255,0,168,.16), transparent 22%),linear-gradient(180deg,#fff4fb 0%,#ffe5f6 46%,#ffd2f0 100%)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(0,0,0,.03) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(180deg,rgba(0,0,0,.16),transparent 85%)}
body,body *{text-rendering:optimizeLegibility}
body.auth-shell{--auth-topbar-offset:env(safe-area-inset-top,0px);--auth-topbar-height:74px;--auth-topbar-total:calc(var(--auth-topbar-offset) + var(--auth-topbar-height));min-height:calc(var(--app-viewport-height,100vh) + var(--app-keyboard-inset,0px))}
a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit} button{cursor:pointer}
.shell{width:min(var(--max),calc(100% - 32px));margin:0 auto}.topbar{position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(10,10,10,.94),rgba(33,24,17,.94));backdrop-filter:blur(16px);box-shadow:0 18px 40px rgba(0,0,0,.18)}.topbar[data-app-env="production"]{background:linear-gradient(145deg,rgba(10,10,10,.94),rgba(33,24,17,.94))}.topbar[data-app-env="dev"]{background:linear-gradient(145deg,#ff00a8,#ff4fd8 55%,#ff8be8);border-bottom-color:rgba(255,255,255,.24);box-shadow:0 18px 40px rgba(255,0,168,.28)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px}.brand{display:flex;gap:14px;align-items:center;font-weight:800;color:#fff}.brand-mark{width:72px;height:52px;border-radius:12px;display:grid;place-items:center;overflow:hidden;box-shadow:none;flex:0 0 72px;background:transparent}.brand-mark img{width:100%;height:100%;object-fit:contain;object-position:center 35%;display:block}.brand-copy small{display:block;color:rgba(255,255,255,.7);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.brand-copy div{font-family:var(--font-display);font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.05}.topbar .muted{color:rgba(255,255,255,.72)}.topbar .btn-secondary{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}.topbar .btn-danger{background:linear-gradient(145deg,var(--amber),var(--amber-deep));border-color:rgba(214,168,74,.55);color:#fff}.topbar #topbarUserName{color:#fff}.topbar #topbarUserRole{color:rgba(255,255,255,.72)!important}
.hero{padding:20px 0 24px}.hero-card,.card{background:linear-gradient(180deg,var(--paper-strong),var(--paper));border:1px solid rgba(53,35,19,.12);border-radius:22px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.06)}.hero-card{position:relative;overflow:hidden}.hero-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(214,168,74,.18), transparent 32%),radial-gradient(circle at bottom left, rgba(17,17,17,.04), transparent 28%);pointer-events:none}.hero-card::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:linear-gradient(90deg,transparent,rgba(214,168,74,.8),transparent);pointer-events:none}.card{position:relative}.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(214,168,74,.4),transparent);pointer-events:none}
body.auth-shell .topbar{position:fixed;left:0;right:0;top:0;z-index:40}
body.auth-shell .hero{padding-top:calc(var(--auth-topbar-total) + 20px);min-height:calc(var(--app-viewport-height,100vh) - var(--auth-topbar-total));display:block}
body.auth-shell.keyboard-open .hero{padding-bottom:max(24px,var(--app-keyboard-inset,0px));min-height:calc(var(--app-viewport-height,100vh) - var(--auth-topbar-total) + var(--app-keyboard-inset,0px))}
body.keyboard-open .hero{padding-bottom:max(20px,var(--app-keyboard-inset,0px))}
body.auth-shell.keyboard-open .layout,body.auth-shell.keyboard-open .stack,body.auth-shell.keyboard-open .grid-2,body.auth-shell.keyboard-open .summary-grid{align-items:start}
.label{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:linear-gradient(145deg,var(--amber),var(--amber-deep));color:#fff;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 10px 22px rgba(141,90,23,.2)}h1,h2,h3{font-family:var(--font-display);text-transform:uppercase;font-weight:800}h1{font-size:clamp(30px,4.2vw,48px);line-height:1.03;letter-spacing:.012em;margin:14px 0;text-wrap:balance}h2{margin:8px 0 10px;font-size:24px;letter-spacing:.012em;text-wrap:balance}h3{margin:6px 0 10px;font-size:19px;letter-spacing:.012em}.muted{color:var(--muted);line-height:1.65}
.layout,.stack,.grid-2,.summary-grid{display:grid;gap:18px}.layout{grid-template-columns:minmax(320px,420px) 1fr}.stack,.grid-2{grid-template-columns:1fr 1fr}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-grid .card{padding:18px;border-radius:20px}.metric{display:block;font-size:28px;font-weight:900;letter-spacing:-.03em}.grid-2>article.card,.grid-2>.card{height:100%}
.field{display:grid;gap:8px;margin-bottom:14px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(74,53,37,.18);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.92);color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.4);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:rgba(159,90,22,.48);box-shadow:0 0 0 4px rgba(217,164,65,.14)}.field textarea{min-height:116px;resize:vertical}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{border:1px solid #111;border-radius:12px;padding:12px 16px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.btn-primary{background:linear-gradient(145deg,var(--amber),var(--amber-deep));border-color:rgba(141,90,23,.55);color:#fff;box-shadow:0 12px 24px rgba(141,90,23,.24)}.btn-secondary{background:rgba(255,255,255,.82);border:1px solid rgba(0,0,0,.14);color:#111}.btn-danger{background:#111;color:#fff}.status{margin-top:12px;padding:12px 14px;border-radius:14px;font-size:14px;display:none}.status.show{display:block}.status.success{background:var(--success-bg);color:var(--success)}.status.error{background:var(--error-bg);color:#7c2f20}.status.info{background:var(--info-bg);color:var(--info)}
.member-list{display:grid;gap:12px}.member-item{border:1px solid var(--line);border-radius:16px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,244,240,.88))}.member-item strong{display:block;font-size:17px;margin-bottom:6px}.brewery-list{display:grid;gap:12px}.brewery-item{border:1px solid var(--line);border-radius:16px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,244,240,.88))}.brewery-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.brewery-item strong{display:block;font-size:17px;margin-bottom:6px}.brewery-distance{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:8px 12px;border-radius:999px;background:linear-gradient(145deg,var(--amber),var(--amber-deep));color:#fff;font-weight:800;font-size:13px}.brewery-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.brewery-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.05);color:var(--muted);font-size:13px}.brewery-map{height:320px;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.brewery-user-marker span{display:block;width:18px;height:18px;border-radius:999px;background:#111;border:3px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.22)}.hidden{display:none!important}.footer{padding:20px 0 48px;color:var(--muted);font-size:14px}.member-featured-event-banner{display:grid;grid-template-columns:128px minmax(0,1fr) auto;gap:0;align-items:stretch;min-height:0;overflow:hidden;padding:0!important;border:1px solid rgba(212,169,78,.18);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,246,240,.94));box-shadow:0 10px 30px rgba(74,53,37,.08)}.member-featured-event-media{display:block;width:128px;height:100%;min-height:96px;align-self:stretch;border-radius:22px 0 0 22px;overflow:hidden;background:linear-gradient(145deg,rgba(17,17,17,.08),rgba(17,17,17,.02));border-right:1px solid rgba(74,53,37,.08);box-shadow:none}.member-featured-event-media img{display:block;width:100%;height:100%;object-fit:cover}.member-featured-event-media-empty{display:grid;place-items:center}.member-featured-event-placeholder{padding:10px;text-align:center;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#6b7280;font-size:11px;line-height:1}.member-featured-event-content{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:center;min-width:0;padding:12px 16px}.member-featured-event-copy{min-width:0;display:grid;align-content:start;min-height:100%}.member-featured-event-eyebrow{font-size:10px;line-height:1.1;letter-spacing:.12em;text-transform:uppercase;color:#b07a1f;font-weight:900;margin:0}.member-featured-event-content h3{margin:2px 0 0;font-size:20px;line-height:1.02;color:#24150d;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.member-featured-event-meta{margin:3px 0 0;font-size:12px;line-height:1.2;font-weight:700;color:#7c5a1c;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.member-featured-event-content .muted{margin:2px 0 0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.3;color:rgba(36,21,13,.72)}.member-featured-event-actions{display:flex;justify-content:flex-end;align-self:end;padding-top:6px}.member-featured-event-actions .btn{width:190px;min-width:190px;max-width:190px;height:auto;border-radius:999px;justify-content:center;padding:9px 20px;white-space:nowrap;box-shadow:none}.member-card{position:relative;overflow:visible;background:transparent;color:#0f172a;border:0;box-shadow:none;aspect-ratio:auto;display:grid;grid-template-rows:1fr;gap:0;padding:0}.member-card::before,.member-card::after,.member-card-header-band,.member-card-main{display:none}.member-card.member-card-premium{background:transparent;border:0}.member-card .label,.member-card .muted{color:rgba(15,23,42,.66)}.member-card-body{display:grid;grid-template-columns:1fr;gap:0;align-items:center;min-height:0}.member-card-photo-col{display:grid;align-items:center;justify-items:stretch}.member-card-field{display:grid;gap:2px;min-width:0}.member-card-field-inline{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.member-card-field-label{font-size:11px;line-height:1.15;letter-spacing:.08em;text-transform:uppercase;color:#475569}.member-card-meta{margin:0;font-size:13px;line-height:1.35}.member-card-id{font-size:18px;letter-spacing:.12em;text-transform:uppercase;color:#0f172a}.member-card-name{font-family:var(--font-display);font-size:34px;font-weight:800;letter-spacing:.01em;margin:0;text-transform:uppercase;line-height:.96;color:#111827}.member-card-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.member-card-role{font-size:18px;text-transform:uppercase;letter-spacing:.08em;color:#1d4ed8;font-weight:800}.member-card.member-card-premium .member-card-role{color:#8d5a17}.member-card-points-field .member-points-balance{font-size:28px;line-height:1.02;color:#0f172a}.member-card-qr-frame{display:none}.member-card-qr{background:#fff;border-radius:14px;padding:8px;display:grid;place-items:center;min-height:120px}.member-card-qr img{width:100%;height:auto;display:block}.member-card-render-image{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 16px 40px rgba(15,23,42,.12)}.member-card{cursor:pointer}.member-card-fullscreen{position:fixed;inset:0;background:rgba(3,6,12,.94);z-index:1200;display:grid;grid-template-rows:auto 1fr}.member-card-fullscreen.hidden{display:none}.member-card-fullscreen-close{position:absolute;top:calc(env(safe-area-inset-top,0px) + 18px);right:calc(env(safe-area-inset-right,0px) + 18px);width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:32px;line-height:1;display:inline-flex;align-items:center;justify-content:center;z-index:2}.member-card-fullscreen-stage{display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 32px) calc(env(safe-area-inset-right,0px) + 32px) calc(env(safe-area-inset-bottom,0px) + 32px) calc(env(safe-area-inset-left,0px) + 32px)}.member-card-fullscreen-image{display:block;max-width:min(92vw,1400px);max-height:88vh;width:auto;height:auto;border-radius:28px;box-shadow:0 28px 80px rgba(0,0,0,.34)}.member-card-actions-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}.member-card-actions-row-outside{margin-top:14px}.member-card-public-action,.member-card-wallet-actions{height:100%}.member-card-public-action .btn,.member-card-wallet-actions .member-wallet-inline-button{width:100%;justify-content:center}.member-card-public-action{display:grid;order:2}.member-card-public-action .inline-actions{display:grid;height:100%}.member-card-public-action .btn{min-height:54px}.member-wallet-compact{display:grid;justify-items:start;gap:10px;margin-top:12px}.member-wallet-compact-inside{margin-top:0}.member-card-wallet-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:stretch;order:1}.member-card-wallet-actions .member-wallet-inline-button{min-height:54px}.member-wallet-inline-button{display:inline-flex;align-items:center;gap:10px}.member-wallet-inline-button img{display:block;width:22px;height:22px;border-radius:6px;flex:0 0 auto}.member-wallet-inline-button span{line-height:1}.member-card .btn-secondary,.member-card-actions-row-outside .btn-secondary{background:rgba(255,255,255,.74);border-color:rgba(148,163,184,.3);color:#0f172a}.member-card.member-card-premium+.member-card-actions-row-outside .btn-secondary{background:rgba(255,255,255,.6);border-color:rgba(141,90,23,.18);color:#111}.member-dashboard-shell,.member-dashboard-panels{display:grid;gap:18px}.member-nav-shell{position:sticky;top:90px;z-index:5}.member-nav-topline .muted{max-width:64ch}.member-nav-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.member-nav-tab{min-height:100%}.member-section-panel{display:grid;gap:18px}.member-profile-grid,.member-profile-subgrid{align-items:start}.member-radius-card{background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(246,241,234,.9))}.member-brewery-search-row{gap:10px}.member-brewery-search-row .field{min-width:0}
@media(max-width:980px){.layout,.stack,.grid-2,.summary-grid,.member-nav-tabs{grid-template-columns:1fr}.shell{width:min(var(--max),calc(100% - 20px))}.hero{padding:16px 0 20px}.hero-card,.card{padding:20px;border-radius:22px}.member-nav-shell{position:static}.member-featured-event-banner{grid-template-columns:96px minmax(0,1fr) auto;gap:0;padding:0!important;border-radius:24px}.member-featured-event-media{width:96px;height:100%;min-height:88px;border-radius:24px 0 0 24px}.member-featured-event-content{gap:6px;align-content:center;padding:10px 12px}.member-featured-event-copy{align-content:start}.member-featured-event-eyebrow{font-size:9px}.member-featured-event-content h3{font-size:17px}.member-featured-event-meta{font-size:11px;margin-top:2px}.member-featured-event-content .muted{font-size:12px;-webkit-line-clamp:1}.member-featured-event-actions{display:flex;justify-content:flex-end;align-self:end;padding-top:4px}.member-featured-event-actions .btn{width:170px;min-width:170px;max-width:170px;padding:8px 14px}.member-card{aspect-ratio:auto;width:100%;max-width:560px;margin:0 auto;padding:18px}.member-card-header-title{font-size:clamp(20px,4vw,30px)}.member-card-body{grid-template-columns:1fr;gap:14px}.member-card-actions-row{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}.member-card-public-action,.member-card-wallet-actions{width:100%}}

@media(max-width:640px){.topbar-inner{min-height:64px;gap:8px}.brand{gap:8px;min-width:0;flex:1}.brand-mark{width:68px;height:46px;border-radius:10px;flex:0 0 68px}.brand-mark img{object-position:center 32%}.brand-copy{min-width:0}.brand-copy small{font-size:8px;letter-spacing:.05em}.brand-copy div{font-size:10px;line-height:1.02}.topbar-inner #topbarUserMenu{gap:6px;flex-shrink:0}.topbar-inner #topbarUserMenu>div{max-width:86px}.topbar-inner #topbarUserName{font-size:11px;line-height:1.02;word-break:break-word}.topbar-inner #topbarUserRole{font-size:9px}.topbar-inner #topbarLogoutBtn{padding:.5rem .72rem;font-size:11px;white-space:nowrap}.member-card{padding:14px;gap:12px;aspect-ratio:auto;min-height:0}.member-card-header-band{grid-template-columns:auto minmax(0,1fr) 40px;gap:10px}.member-card-header-flag{width:48px;height:34px;border-radius:8px}.member-card-header-title{font-size:18px;letter-spacing:.04em}.member-card-header-subtitle{font-size:10px}.member-card-header-badge{width:40px;height:40px;border-radius:12px;font-size:14px}.member-card-render-image{border-radius:18px}.member-card-fullscreen-stage{padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;width:100vw;height:100vh;position:relative}.member-card-fullscreen-image{position:absolute;left:50%;top:50%;max-width:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);max-height:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 24px);width:auto;height:auto;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center center;border-radius:20px;display:block}.member-card-fullscreen-close{top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);width:44px;height:44px;font-size:28px}.member-wallet-inline-button,.member-nav-tab,.member-brewery-search-row,.member-brewery-search-row .field{width:100%}.member-wallet-inline-button{justify-content:center}.member-brewery-search-row{flex-wrap:wrap!important}.group-order-card{padding:14px!important;gap:12px!important}.group-order-head{gap:10px!important}.group-order-head .muted{font-size:14px;line-height:1.5}.group-order-head strong{font-size:18px!important}.group-order-badges{width:100%;justify-items:start!important;grid-template-columns:repeat(2,max-content);gap:8px 10px!important}.group-order-badges .muted{font-size:13px}.group-order-phase-card{padding:12px!important}.group-order-phase-card .muted{font-size:14px;line-height:1.5}.group-order-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.group-order-summary .card{padding:10px!important;border-radius:16px!important}.group-order-summary .label{font-size:11px;letter-spacing:.05em}.group-order-summary .metric{font-size:16px!important;line-height:1.15}.group-order-summary .muted{font-size:12px;line-height:1.35;margin-top:2px!important}.group-order-progress-block{margin-top:4px!important}.group-order-progress-head{align-items:flex-end!important}.group-order-progress-head .label{max-width:65%}.group-order-progress-block .muted{font-size:14px;line-height:1.5}.group-order-reservation-card{padding:14px!important}.group-order-readonly-top{align-items:flex-end!important}.group-order-readonly .metric{font-size:20px!important}.group-order-readonly-total{text-align:left!important}.group-order-comment-box{padding:10px 12px!important}.group-order-comment-box .muted{font-size:14px;line-height:1.45}.group-order-actions{display:grid!important;grid-template-columns:1fr;gap:10px!important}.group-order-pay-btn{width:100%;justify-content:center;padding:14px 16px!important;font-size:15px;box-shadow:0 18px 30px rgba(141,90,23,.26)!important}.group-order-subtle-btn{width:100%;justify-content:center;background:rgba(255,255,255,.55)!important;border-color:rgba(0,0,0,.08)!important;color:rgba(17,17,17,.72)!important;box-shadow:none!important}.group-order-reservation-card .btn{justify-content:center}}



.identity-card.status-active{background:linear-gradient(145deg,#dff3df,#bfe6bf);color:#17361a}.identity-card.status-active .label,.identity-card.status-active .muted{color:rgba(23,54,26,.72)}.identity-card.status-invited{background:linear-gradient(145deg,#fff0d6,#f5d39a);color:#4e3213}.identity-card.status-invited .label,.identity-card.status-invited .muted{color:rgba(78,50,19,.72)}.identity-card.status-disabled{background:linear-gradient(145deg,#fde3de,#f4c3b8);color:#5f1f16}.identity-card.status-disabled .label,.identity-card.status-disabled .muted{color:rgba(95,31,22,.72)}
