/* Local static utilities: no runtime compiler or remote fonts. */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e2e8f0}
html{line-height:1.5;-webkit-text-size-adjust:100%}body{margin:0}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:transparent}button:disabled{cursor:wait;opacity:.6}input,select,textarea{max-width:100%}button:focus-visible,a:focus-visible{outline:3px solid #2563eb;outline-offset:3px}a{color:inherit;text-decoration:none}table{border-collapse:collapse}th{font-weight:700}code{font-family:ui-monospace,Consolas,monospace}b,strong{font-weight:bolder}[hidden]{display:none!important}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.55}}
.fa-solid,.fa-regular{display:inline-block;font-style:normal;text-align:center;min-width:1em}.fa-solid::before,.fa-regular::before{content:'•'}.fa-spinner::before{content:'◌'}.fa-spin{animation:spin 1s linear infinite}
.fa-copy::before,.fa-clipboard::before{content:'▣'}.fa-xmark::before{content:'×'}.fa-check::before,.fa-circle-check::before{content:'✓'}.fa-plus::before,.fa-plus-circle::before{content:'+'}.fa-key::before,.fa-lock::before{content:'⌘'}.fa-arrow-up-right-from-square::before{content:'↗'}.fa-rotate::before,.fa-arrows-rotate::before{content:'↻'}.fa-circle-info::before{content:'ⓘ'}.fa-circle-exclamation::before{content:'!'}.fa-envelope::before{content:'✉'}.fa-arrow-right-from-bracket::before{content:'→'}.fa-magnifying-glass::before{content:'⌕'}.fa-trash::before{content:'×'}
.absolute{position:absolute}
.bg-\[\#58affa\]{background-color:#58affa}
.bg-amber-100{background-color:#fef3c7}
.bg-amber-50{background-color:#fffbeb}
.bg-emerald-100{background-color:#d1fae5}
.bg-rose-50{background-color:#fff1f2}
.bg-slate-100{background-color:#f1f5f9}
.bg-slate-50{background-color:#f8fafc}
.bg-white{background-color:#fff}
.block{display:block}
.border-2{border-width:2px}
.border-b{border-bottom-width:1px}
.border-b-2{border-bottom-width:2px}
.border-black{border-color:#000}
.border-rose-500{border-color:#f43f5e}
.border-slate-200{border-color:#e2e8f0}
.flex{display:flex}
.flex-1{flex:1 1 0%}
.flex-col{flex-direction:column}
.font-black{font-weight:900}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.font-sans{font-family:system-ui,sans-serif}
.gap-1{gap:0.25rem}
.gap-1\.5{gap:0.375rem}
.gap-2{gap:0.5rem}
.grid{display:grid}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.h-12{height:3rem}
.h-2{height:0.5rem}
.h-8{height:2rem}
.hidden{display:none!important}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.left-0{left:0rem}
.max-w-\[200px\]{max-width:200px}
.max-w-md{max-width:28rem}
.mb-1{margin-bottom:0.25rem}
.mb-4{margin-bottom:1rem}
.min-h-screen{min-height:100vh}
.mr-1{margin-right:0.25rem}
.mt-0\.5{margin-top:0.125rem}
.mt-1{margin-top:0.25rem}
.mt-2{margin-top:0.5rem}
.mt-4{margin-top:1rem}
.mx-auto{margin-left:auto;margin-right:auto}
.my-3{margin-top:0.75rem;margin-bottom:0.75rem}
.overflow-hidden{overflow:hidden}
.p-1{padding:0.25rem}
.p-3{padding:0.75rem}
.p-3\.5{padding:0.875rem}
.p-4{padding:1rem}
.p-6{padding:1.5rem}
.pb-1\.5{padding-bottom:0.375rem}
.pb-3{padding-bottom:0.75rem}
.px-1{padding-left:0.25rem;padding-right:0.25rem}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem}
.relative{position:relative}
.right-0{right:0rem}
.rounded-2xl{border-radius:1rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.shadow-\[2px_2px_0px_\#000\]{box-shadow:2px 2px 0px #000}
.shadow-\[2px_2px_0px_\#f43f5e\]{box-shadow:2px 2px 0px #f43f5e}
.shadow-\[3px_3px_0px_\#000\]{box-shadow:3px 3px 0px #000}
.space-y-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem}
.space-y-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem}
.text-2xl{font-size:1.5rem;line-height:1.5}
.text-\[11px\]{font-size:11px}
.text-amber-950{color:#451a03}
.text-base{font-size:1rem;line-height:1.5}
.text-black{color:#000}
.text-blue-600{color:#2563eb}
.text-blue-700{color:#1d4ed8}
.text-center{text-align:center}
.text-emerald-600{color:#059669}
.text-emerald-700{color:#047857}
.text-indigo-600{color:#4f46e5}
.text-left{text-align:left}
.text-lg{font-size:1.125rem;line-height:1.5}
.text-rose-600{color:#e11d48}
.text-rose-800{color:#9f1239}
.text-slate-500{color:#64748b}
.text-slate-600{color:#475569}
.text-slate-700{color:#334155}
.text-slate-800{color:#1e293b}
.text-slate-900{color:#0f172a}
.text-sm{font-size:.875rem;line-height:1.5}
.text-xs{font-size:.75rem;line-height:1.5}
.top-0{top:0rem}
.tracking-tight{letter-spacing:-.025em}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uppercase{text-transform:uppercase}
.w-12{width:3rem}
.w-8{width:2rem}
.w-full{width:100%}
.hover\:bg-\[\#489fe8\]:hover{background-color:#489fe8}
.hover\:bg-slate-200:hover{background-color:#e2e8f0}
.placeholder\:text-slate-400::placeholder{color:#94a3b8}
.selection\:bg-blue-200::selection{background-color:#bfdbfe}
@media(min-width:640px){.sm\:p-6{padding:1.5rem}}
@media(min-width:640px){.sm\:p-7{padding:1.75rem}}

    body {
      background-color: #f1f5f9;
      color: #0f172a;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    }
    .neo-card {
      background: #ffffff;
      border: 2px solid #000000;
      border-radius: 1rem;
      box-shadow: 4px 4px 0px #000000;
    }
    .neo-btn {
      border: 2px solid #000000;
      font-weight: 800;
      transition: all 0.15s ease-in-out;
      box-shadow: 3px 3px 0px #000000;
    }
    .neo-btn:hover {
      transform: translate(-1px, -1px);
      box-shadow: 4px 4px 0px #000000;
    }
    .neo-btn:active {
      transform: translate(2px, 2px);
      box-shadow: 1px 1px 0px #000000;
    }
    .neo-input {
      border: 2px solid #000000;
      box-shadow: 2px 2px 0px #000000;
      transition: all 0.15s ease;
    }
    .neo-input:focus {
      outline: none;
      background-color: #ffffff;
      box-shadow: 3px 3px 0px #000000;
    }
  #resEmail, #resPassword, #resTotp { max-width: 70%; overflow-wrap: anywhere; white-space: normal; text-align: right; }

/* Local symbols keep icon-only controls recognizable without remote fonts. */
.fa-bolt::before{content:"↯"}
.fa-building::before{content:"▦"}
.fa-chair::before{content:"▤"}
.fa-chevron-right::before{content:"›"}
.fa-clock::before{content:"◷"}
.fa-hourglass-half::before{content:"◷"}
.fa-gift::before{content:"◇"}
.fa-filter::before{content:"▽"}
.fa-arrow-down-wide-short::before{content:"↓"}
.fa-file-code::before{content:"{}"}
.fa-envelope-open-text::before{content:"✉"}
.fa-folder-open::before{content:"▱"}
.fa-gauge-high::before{content:"◔"}
.fa-database::before{content:"▤"}
.fa-layer-group::before{content:"▱"}
.fa-list-check::before{content:"☑"}
.fa-paper-plane::before{content:"➤"}
.fa-server::before{content:"▦"}
.fa-shield::before{content:"⛨"}
.fa-shield-halved::before{content:"⛨"}
.fa-shield-virus::before{content:"⛨"}
.fa-sliders::before{content:"⚙"}
.fa-triangle-exclamation::before{content:"⚠"}
.fa-user::before{content:"●"}
.fa-user-check::before{content:"✓"}
.fa-user-plus::before{content:"+"}
.fa-user-shield::before{content:"⛨"}
.fa-users::before{content:"●"}
.fa-users-gear::before{content:"⚙"}
.fa-users-viewfinder::before{content:"◎"}
.fa-user-xmark::before{content:"×"}
.fa-chart-pie::before{content:"◔"}
.fa-share-from-square::before{content:"↗"}
.fa-ban::before{content:"⊘"}

/* Roomier customer-facing redemption layout. */
.redeem-container{max-width:960px}
.redeem-header{gap:16px;flex-wrap:wrap;padding-bottom:16px}
.redeem-header>div:first-child{gap:12px}
.redeem-header .w-8{width:40px;height:40px;border-radius:12px;font-size:18px}
.redeem-header>div:first-child>span{font-size:clamp(17px,2vw,22px)}
.purchase-group{padding:9px 14px;border:2px solid #000;border-radius:12px;background:#fff;font-size:15px;font-weight:700;box-shadow:2px 2px 0 #000}
.purchase-group b{color:#1d4ed8;letter-spacing:.04em}
.redeem-main{min-height:72vh;margin-top:12px;margin-bottom:20px}
.redeem-card{padding:clamp(24px,4.5vw,48px);border-radius:24px;box-shadow:6px 6px 0 #000}
.redeem-card .grid-cols-2{gap:12px;padding:8px;margin-bottom:14px;border-radius:16px}
#tabBtnInvite,#tabBtnReady{min-height:66px;padding:12px 14px;border-radius:13px;font-size:clamp(15px,1.7vw,19px);line-height:1.25;gap:9px;flex-wrap:wrap}
.inventory-badge{display:inline-flex;align-items:center;justify-content:center;padding:5px 10px;border:1.5px solid #000;border-radius:999px;background:#fff;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:1px 1px 0 #000}
.inventory-updated{min-height:20px;margin:-4px 4px 18px;text-align:right;color:#64748b;font-size:13px;font-weight:600}
#sectionInvite h1,#sectionReady h1{font-size:clamp(26px,3vw,32px);line-height:1.25}
#sectionInvite p,#sectionReady p{font-size:16px;line-height:1.55}
#sectionInvite label,#sectionReady label{font-size:16px}
.redeem-card .neo-input{padding:16px 18px;border-radius:16px;font-size:16px}
#btnRedeemInvite,#btnRedeemReady{padding:17px 18px;border-radius:16px;font-size:18px}

@media(max-width:640px){
  .redeem-container{max-width:100%}
  .redeem-header{align-items:flex-start}
  .redeem-main{min-height:auto}
  .redeem-card{padding:24px 18px;border-radius:20px}
  .redeem-card .grid-cols-2{gap:8px;padding:6px}
  #tabBtnInvite,#tabBtnReady{min-height:84px;padding:9px 6px;font-size:14px;gap:5px}
  .inventory-badge{padding:4px 8px;font-size:12px}
  .inventory-updated{font-size:12px;margin-bottom:15px}
}
@media(max-width:380px){
  .redeem-card .grid-cols-2{grid-template-columns:1fr}
  #tabBtnInvite,#tabBtnReady{min-height:58px;flex-direction:row}
}
