:root{--page-bg:#080407;--paper:#fff6ee;--ink:#2d2325;--muted:#8b7a82;--text:#fff2f4;--text-soft:#ffe2e8b8;--glass-line:#ffd3dc33;--her-red:#e2373a;--rose:#d96a91;--rose-light:#ff9bb9;--display:ui-serif, Georgia, Cambria, "Times New Roman", serif;--body:Avenir, "Gill Sans", "Trebuchet MS", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;color:var(--text);font:16px/1.5 var(--body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 50% 12%,#e2373a3d,#0000 31%),radial-gradient(circle at 15% 76%,#d96a9133,#0000 28%),linear-gradient(135deg,#080407 0%,#150b12 46%,#2a121d 100%)}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,input{font:inherit}.admin-shell{width:min(100% - 32px,1180px);min-height:100svh;color:var(--text);margin:0 auto;padding:34px 0 56px}.admin-header{border-bottom:1px solid #ffdae229;justify-content:space-between;align-items:end;gap:20px;padding-bottom:22px;display:flex}.admin-kicker,.panel-heading p{color:var(--rose-light);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.admin-header h1{font-family:var(--display);margin:4px 0 0;font-size:clamp(42px,6vw,74px);line-height:.9}.admin-token{color:var(--text-soft);grid-template-columns:auto minmax(220px,300px) auto;align-items:center;gap:10px;display:grid}.admin-token input,.invite-panel textarea{color:var(--text);background:#ffffff12;border:1px solid #ffdae229}.admin-token input{min-height:40px;padding:0 10px}.admin-token button,.admin-primary,.table-action{min-height:40px;color:var(--text);cursor:pointer;background:#ffffff14;border:1px solid #ffdae22e;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.admin-token button:hover,.table-action:hover{background:#ffffff21}.admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0;display:grid}.admin-metrics div,.admin-panel{-webkit-backdrop-filter:blur(22px)saturate(1.2);background:linear-gradient(145deg,#ffffff17,#ffffff09),#261821ad;border:1px solid #ffdae229}.admin-metrics div{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:16px;display:grid}.admin-metrics p{color:var(--text-soft);margin:0;font-size:13px}.admin-metrics strong{font-size:28px}.admin-alert{border:1px solid #ffdae229;margin:0 0 14px;padding:10px 12px;font-size:14px}.admin-alert.is-error{color:#ffb0bd}.admin-alert.is-notice{color:#bcebc8}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:16px;display:grid}.admin-panel{min-width:0;padding:18px}.panel-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:16px;display:flex}.panel-heading h2{margin:3px 0 0;font-size:22px}.panel-heading span{color:var(--text-soft);font-size:13px}.admin-table-wrap{overflow:auto}.admin-table{border-collapse:collapse;width:100%;min-width:820px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ffdae21a;padding:12px 10px}.admin-table th{color:var(--text-soft);font-size:12px;font-weight:700}.admin-table td{color:var(--text);font-size:14px}.admin-table strong,.admin-table small{display:block}.admin-table small{color:var(--text-soft);margin-top:4px;font-size:12px}.admin-table code,.invite-list code{overflow-wrap:anywhere;max-width:180px}.status-pill{border:1px solid #ffdae229;padding:3px 8px;font-size:12px;display:inline-flex}.status-pill.is-paid{color:#bcebc8}.status-pill.is-pending{color:var(--rose-light)}.table-action:disabled,.admin-primary:disabled,.admin-token button:disabled{cursor:wait;opacity:.58}.empty-cell,.muted-text{color:var(--text-soft)}.invite-panel{align-content:start;gap:14px;display:grid}.invite-panel textarea{resize:vertical;min-height:132px;padding:12px}.admin-primary{background:linear-gradient(135deg, var(--her-red), var(--rose));color:var(--paper)}.invite-list{gap:8px;max-height:420px;display:grid;overflow:auto}.invite-list div{border-top:1px solid #ffdae21a;gap:5px;padding-top:9px;display:grid}.invite-list span{color:var(--text-soft);font-size:12px}@media (width<=900px){.admin-header{grid-template-columns:1fr;display:grid}.admin-token{grid-template-columns:auto 1fr;width:100%}.admin-token button{grid-column:1/-1}.admin-metrics,.admin-grid{grid-template-columns:1fr}}.home-shell{place-items:center;width:min(100% - 32px,980px);min-height:100svh;margin:0 auto;padding:clamp(22px,5vw,52px) 0;transition:filter .26s,transform .26s,opacity .26s;display:grid}.home-shell.is-dimmed{filter:blur(3px);opacity:.36;transform:scale(.985)}.hero-card,.modal-frame{border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(28px)saturate(1.24);background:linear-gradient(145deg,#ffffff1b,#ffffff09),#261821c7;box-shadow:0 34px 88px #00000080,inset 0 1px #ffffff24}.hero-card{align-content:space-between;width:min(100%,920px);min-height:min(86svh,760px);padding:clamp(28px,5vw,68px);display:grid}.brand-row,.card-topline{align-items:center;gap:14px;display:flex}.brand-row{justify-content:center}.logo-mark{background:linear-gradient(135deg, var(--her-red), var(--rose));width:56px;height:56px;color:var(--paper);border:1px solid #ffe0e72e;place-items:center;display:inline-grid;box-shadow:0 22px 44px #e2373a47}.logo-mark.is-small{width:38px;height:38px;box-shadow:none}.her-logo{width:84%;height:84%}.hero-copy{text-align:center}.panel-label,.form-heading p,.modal-heading p,.card-topline span{color:var(--rose-light);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.hero-copy h1{color:var(--text);font-family:var(--display);text-align:center;margin:0;font-size:clamp(82px,14vw,182px);font-weight:760;line-height:.78}.intro-copy{color:var(--text-soft);margin:30px auto 0;font-size:clamp(19px,2.4vw,28px)}.benefit-panel{text-align:center;border-top:1px solid #ffdae226;justify-self:center;width:min(100%,560px);padding-top:20px}.benefit-panel ul{justify-items:center;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.benefit-panel li{color:#ffe2e8ad;font-size:13px;line-height:1.55}.join-club-button{background:linear-gradient(135deg, var(--her-red), var(--rose));min-width:min(100%,260px);min-height:50px;color:var(--paper);cursor:pointer;letter-spacing:.08em;border:1px solid #ffdae23d;justify-self:center;font-weight:800}.join-form{gap:18px;padding-top:12px;display:grid}.form-heading{text-align:center;justify-items:center;gap:8px;margin-bottom:8px;display:grid}.form-heading svg{color:var(--rose-light)}.form-heading h2{color:var(--text);font-family:var(--display);margin:0;font-size:clamp(48px,8vw,82px);line-height:.86}label{color:var(--text);gap:8px;font-size:14px;display:grid}input{width:100%;color:var(--text);background:#ffffff13;border:1px solid #ffdae229;border-radius:0;padding:15px 12px}input::placeholder{color:#fae8eb8a}input:focus{outline:2px solid var(--rose-light);outline-offset:2px}.provider-toggle{border:none;grid-template-columns:1fr 1fr;gap:0;margin:0;padding:0;display:grid}.provider-toggle legend{color:var(--text);grid-column:1/-1;margin-bottom:8px;font-size:14px}.provider-toggle label{cursor:pointer;border:1px solid #ffdae229;justify-content:center;align-items:center;gap:6px;padding:12px 8px;font-size:14px;transition:background .18s,border-color .18s;display:flex}.provider-toggle label+label{border-left:0}.provider-toggle label.active{background:linear-gradient(135deg, var(--her-red), var(--rose));color:var(--paper);border-color:#ffdae247}.provider-toggle input[type=radio]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.primary-button,.ghost-button,.copy-code-button{cursor:pointer;border:1px solid #ffdae22e;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 18px;display:inline-flex}.primary-button,.copy-code-button{background:linear-gradient(135deg, var(--her-red), var(--rose));color:var(--paper)}.primary-button:hover,.copy-code-button:hover,.join-club-button:hover{filter:brightness(1.04);border-color:#ffffff57}.primary-button:disabled,.ghost-button:disabled{cursor:wait;opacity:.72}.form-error{color:#ffb0bd;text-align:center;margin:0;font-size:14px}.modal-backdrop{z-index:20;background:#020102c7;place-items:center;padding:20px;animation:.18s fade-in;display:grid;position:fixed;inset:0}.modal-frame{width:min(100%,600px);max-height:min(90svh,820px);padding:clamp(26px,4vw,38px);animation:.28s cubic-bezier(.16,1,.3,1) modal-in;position:relative;overflow:auto}.qr-stage{text-align:center;justify-items:center;gap:18px;padding-top:18px;display:grid}.modal-heading{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}code{color:var(--text-soft);font-family:var(--mono);background:#ffffff14;border:1px solid #ffdae229;padding:2px 6px;font-size:12px}.qr-image,.qr-placeholder{aspect-ratio:1;background:#fffaf3;border:1px solid #ffdae23d;width:min(280px,68vw)}.qr-image{display:block}.qr-placeholder{color:var(--muted);place-items:center;display:grid}.modal-note,.qr-stage small{color:var(--text-soft);margin:0}.qr-stage small{font-size:12px}.ghost-button{min-height:42px;color:var(--text);background:#ffffff14}.ghost-button:hover{background:#ffffff24}.card-result{gap:16px;display:grid}.member-card{background:radial-gradient(circle at 18% 12%,#ff9bb957,#0000 36%),linear-gradient(145deg,#ffffff21,#ffffff0b),#231720;border:1px solid #ffdae238;border-radius:28px;align-content:space-between;min-height:344px;padding:clamp(24px,4vw,34px);display:grid;position:relative;overflow:hidden;box-shadow:0 26px 64px #0006,inset 0 1px #ffffff2e}.member-card:after{content:"";aspect-ratio:1;pointer-events:none;border:1px solid #ffdae229;border-radius:999px;width:54%;position:absolute;bottom:-26%;right:-12%}.card-title{z-index:1;color:var(--text);font-family:var(--display);margin:30px 0 0;font-size:clamp(58px,10vw,92px);font-weight:760;line-height:.86;position:relative}.card-member-name{z-index:1;color:var(--text-soft);margin:16px 0 0;font-size:17px;position:relative}.card-footer{z-index:1;justify-content:space-between;align-items:flex-end;gap:16px;margin:24px 0 0;display:flex;position:relative}.card-number,.card-validity{border-top:1px solid #ffdae229;margin:0;padding-top:12px}.card-number{color:#ffe2e894;font-family:var(--mono);font-size:11px}.card-validity{color:var(--text);overflow-wrap:anywhere;text-align:right;white-space:nowrap;font-size:14px}.card-validity span{color:var(--text-soft);letter-spacing:.1em;margin-right:8px;font-size:11px}.card-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.access-panel{background:#ffffff12;border:1px solid #ffdae229;gap:16px;padding:clamp(18px,3vw,24px);display:grid}.access-panel p{color:var(--text-soft);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:12px}.access-panel a{color:var(--rose-light);text-underline-offset:4px;overflow-wrap:anywhere;font-size:17px;text-decoration-thickness:1px}.access-panel .bound-status{color:var(--text);font-size:17px}.invite-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.invite-row code{overflow-wrap:anywhere;align-items:center;min-height:42px;display:inline-flex}.copy-code-button{min-height:42px;padding-inline:14px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.hero-card{align-content:center;gap:24px;min-height:calc(100svh - 24px);padding:24px}.join-club-button{order:3}.benefit-panel{order:4}.hero-copy h1{font-size:clamp(56px,17vw,112px)}.card-actions,.invite-row{grid-template-columns:1fr}.member-card{aspect-ratio:8/5;border-radius:22px;min-height:auto;padding:16px}.card-title{margin-top:8px;font-size:38px}.card-member-name{margin-top:6px;font-size:14px}.card-footer{margin-top:8px}.card-number{font-size:9px}.card-validity{white-space:normal;font-size:11px}}
