.topbar{
  background:linear-gradient(135deg, var(--navy), var(--navy-dark));
  color:#fff;
  box-shadow:0 2px 12px rgba(0,0,0,.12);
  position:sticky; top:0; z-index:50;
}
.topbar-inner{
  max-width:900px; margin:0 auto; padding:10px 16px;
  display:flex; align-items:center; gap:12px;
}
.topbar-logo{height:46px; width:auto; max-width:140px; object-fit:contain; background:#fff; border-radius:8px; padding:4px 8px;}
.hero-logo{display:block; height:128px; width:auto; max-width:min(280px,100%); object-fit:contain; margin:0 auto 18px;}
.topbar-title{display:flex; flex-direction:column; line-height:1.35; flex:1;}
.topbar-title strong{font-size:15.5px;}
.topbar-title span{font-size:12px; opacity:.85;}
.btn-sm{padding:8px 14px; font-size:13.5px;}
#btn-logout.btn-outline,
#btn-announce.btn-outline{
  border-color:rgba(255,255,255,.5);
  color:#fff;
}
#btn-logout.btn-outline:hover,
#btn-announce.btn-outline:hover{
  border-color:#fff;
  color:#fff;
}

.container{max-width:900px; margin:0 auto; padding:22px 16px 88px;}
.view{animation:fadeIn .25s ease;}
@keyframes fadeIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
.pad{padding:26px 22px;}
.hero{max-width:480px; margin:20px auto;}
h1{font-size:21px; margin:0 0 6px;}
.muted{color:var(--text-muted); font-size:14px; margin:0 0 20px; line-height:1.6;}
.check-row{display:flex; align-items:center; gap:8px; margin:4px 0 14px; font-size:14px; color:#334; cursor:pointer;}
.check-row input{width:18px; height:18px;}
.form-msg{margin-top:12px; font-size:13.5px; min-height:18px;}
.form-msg.error{color:var(--danger);}
.form-msg.success{color:var(--success);}

.home-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:18px; flex-wrap:wrap;}
.home-actions{display:flex; gap:8px; flex-wrap:wrap;}
.skills-list{margin-top:18px; display:flex; flex-direction:column; gap:8px;}
.skill-row{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; background:var(--bg); border:1px solid var(--border); border-radius:12px;}
.skill-row span{font-weight:700; color:#111;}
.skill-row-actions{display:flex; gap:6px; flex:0 0 auto;}
.skill-row input{flex:1; min-width:0; margin:0;}
.skill-form{margin:4px 0 8px; padding:12px; background:var(--bg); border:1px solid var(--border); border-radius:12px;}
.skill-catalog{display:flex; flex-direction:column; gap:14px;}
.skill-group{background:#fff; border:1px solid var(--border); border-radius:12px; padding:12px;}
.skill-group h2{margin:0 0 8px; font-size:14.5px; color:var(--navy);}
.skill-group .chk{align-items:flex-start; line-height:1.45; font-weight:500;}
.skill-group .chk.is-owned{opacity:.7;}
.skill-cat-title{margin:12px 0 6px; font-size:13.5px; font-weight:800; color:var(--teal);}
.skill-cat-title:first-child{margin-top:0;}
.skill-cat{display:inline-flex; align-items:flex-start; gap:8px; max-width:100%;}
.skill-cat-icon{flex:0 0 30px; width:30px; height:30px; border-radius:9px; display:inline-flex; align-items:center; justify-content:center; color:#2f3a70; background:#eef2ff;}
.skill-cat-icon svg{width:16px; height:16px;}
.skill-cat-text{font-weight:800; line-height:1.45;}
.skill-cat-hardware .skill-cat-icon{background:#fff4e5; color:#b45309;}
.skill-cat-software .skill-cat-icon{background:#eef2ff; color:#2f3a70;}
.skill-cat-design .skill-cat-icon{background:#f3e8ff; color:#7e22ce;}
.skill-cat-business .skill-cat-icon{background:#e6f4f4; color:#0f766e;}
.skill-cat-legal .skill-cat-icon{background:#f3f4f6; color:#374151;}
.skill-group h2 .skill-cat-text{color:var(--navy); font-size:14.5px;}
.skill-cat-title .skill-cat-text{color:var(--teal); font-size:13.5px;}

.intro-video{position:relative; margin-bottom:18px; overflow:hidden; background:#0b1020;}
.intro-video video{display:block; width:100%; height:auto; max-height:min(52vw, 420px); object-fit:contain; background:#0b1020; vertical-align:middle;}
.intro-sound-btn{
  position:absolute; bottom:12px; left:12px; z-index:2;
  background:rgba(18,140,126,.94); color:#fff; border:0;
  border-radius:999px; padding:8px 14px; font-size:13px; font-weight:700;
  box-shadow:0 4px 14px rgba(0,0,0,.25);
}
.intro-sound-btn:hover{background:#0e7a6e; color:#fff;}
.unit-contact{margin-bottom:18px;}
.unit-contact-title{margin:0 0 4px; font-weight:800; color:#000;}
.unit-contact .muted{margin-bottom:12px;}
.unit-contact-actions{display:flex; flex-wrap:nowrap; gap:8px; align-items:stretch;}
.unit-contact-actions .btn{flex:1; min-width:0; width:auto; text-align:center; white-space:normal; line-height:1.35;}
.home-my-opps{margin-bottom:18px;}
.home-my-opps-lead,.home-innovations-lead{margin:0 0 12px; font-weight:800; color:var(--teal); font-size:16px;}
.home-my-opps-list{display:flex; flex-direction:column; gap:8px;}
.my-opp-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:#fff; border:1px solid var(--border); border-radius:14px; padding:12px 14px;
}
.my-opp-row-join{
  border:2px solid var(--teal);
  animation: my-opp-blink 1.3s ease-in-out infinite;
}
@keyframes my-opp-blink{
  0%,100%{box-shadow:0 0 0 0 rgba(24,142,146,.45); border-color:var(--teal);}
  50%{box-shadow:0 0 0 7px rgba(24,142,146,.08); border-color:#3cb8bc;}
}
.my-opp-name{font-weight:800; color:#111; line-height:1.5;}
.my-opp-action{flex:0 0 auto; display:flex; flex-wrap:wrap; gap:6px; align-items:center; justify-content:flex-end;}
.join-modal-card{max-height:86vh; overflow:auto;}
.join-inv-list{display:flex; flex-direction:column; gap:8px; margin-top:8px;}
.join-inv-item{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  border:1px solid var(--border); border-radius:12px; padding:10px 12px; background:#fff;
}
.innovations-list{display:flex; flex-direction:column; gap:14px;}
.innovation-card{
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:16px 18px; box-shadow:var(--shadow); transition:border-color .15s;
}
.innovation-card:hover{border-color:var(--teal);}
.ic-top{display:flex; justify-content:space-between; align-items:flex-start; gap:10px;}
.ic-title{font-size:16px; font-weight:700; margin:0 0 4px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.ic-sub{font-size:13px; color:var(--text-muted); margin:0;}
.opp-desc{white-space:pre-wrap; color:#111; line-height:1.75; margin:6px 0 8px;}
.ic-meta{margin-top:10px; display:flex; gap:8px; flex-wrap:wrap; font-size:12.5px; color:var(--text-muted);}
.ic-revision{
  margin-top:10px; display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap;
  background:#fff8e8; border:1px solid #f0d48a; border-radius:10px; padding:8px 10px;
}
.ic-revision-text{font-size:13px; font-weight:700; color:#8a5a00;}
.ic-revision .btn{width:auto;}
.ic-actions{margin-top:12px; display:flex; flex-direction:row; flex-wrap:nowrap; gap:8px;}
.ic-actions .btn{
  flex:1; width:auto; min-width:0;
  display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  padding:8px 4px; font-size:12px; line-height:1.3; text-align:center; white-space:normal;
}
.ic-actions .btn svg{width:18px; height:18px; flex:0 0 auto;}
.ach-icon-picker{display:flex; flex-wrap:wrap; gap:8px;}
.ach-pick{border:1.5px solid var(--border); background:#fff; border-radius:12px; padding:8px 10px; display:flex; align-items:center; gap:8px; cursor:pointer; font-family:inherit; font-size:13px; color:var(--text);}
.ach-pick[aria-pressed="true"]{border-color:var(--teal); background:#e6f4f4;}
.empty-state{text-align:center; padding:40px 20px;}
.empty-state p{color:var(--text-muted); margin-bottom:16px;}

.form-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}
.checkbox-group{display:flex; flex-direction:column; gap:8px; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:10px 14px;}
.chk{display:flex; align-items:center; gap:8px; font-weight:500; font-size:14.5px; color:var(--text); margin:0;}
.chk input{width:auto;}
.participant-list{display:flex; flex-direction:column; gap:8px; margin:8px 0;}
.participant-row{
  display:grid; grid-template-columns:1fr 1fr; gap:8px;
  border:1px solid var(--border); border-radius:12px; padding:10px; background:#fff;
}
.participant-row .field{margin:0;}
.participant-row .participant-remove{grid-column:1 / -1;}

.loading-overlay{
  position:fixed; inset:0; background:rgba(255,255,255,.55); z-index:200;
  display:flex; align-items:center; justify-content:center;
}
.loading-overlay[hidden]{display:none !important;}

.detail-row{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--border); font-size:14px;}
.detail-row:last-child{border-bottom:none;}
.detail-row .k{color:var(--text-muted); flex:0 0 40%;}
.detail-row .v{flex:1; text-align:left; word-break:break-word;}
.detail-desc{white-space:pre-wrap; line-height:1.8; font-size:14.5px; background:var(--bg); border-radius:10px; padding:12px 14px; margin-top:6px;}

.hint{color:var(--text-muted); font-size:12.5px; margin:-8px 0 8px;}
.birth-parts{display:flex; align-items:stretch; gap:8px; flex-wrap:wrap; direction:ltr;}
.birth-year{display:flex; align-items:stretch; border:1.5px solid var(--border); border-radius:10px; overflow:hidden; background:#fff; min-height:44px; flex:0 0 auto;}
.birth-prefix{display:flex; align-items:center; padding:0 12px; font-weight:800; font-size:18px; background:var(--bg); color:var(--navy); border-right:1.5px solid var(--border);}
.birth-year select{border:0; border-radius:0; min-width:92px; width:auto; box-shadow:none;}
.birth-year select:focus{box-shadow:none;}
.birth-parts > select{flex:1; min-width:104px; min-height:44px;}
.file-list{display:flex; flex-direction:column; gap:8px; margin-top:8px;}
.file-item{display:flex; align-items:center; gap:10px; background:var(--bg); border:1px solid var(--border); border-radius:10px; padding:8px 10px;}
.file-item img{width:56px; height:56px; object-fit:cover; border-radius:8px; background:#fff;}
.file-item .fn{flex:1; font-size:13px; color:#000; word-break:break-word;}
.file-item .rm{background:#fdecea; color:var(--danger); padding:6px 10px; font-size:12.5px;}
.ic-thumb{width:72px; height:72px; object-fit:cover; border-radius:10px; background:#fff; border:1px solid var(--border); flex:0 0 72px;}
.attachments{margin-top:16px; display:flex; flex-direction:column; gap:10px;}
.attachments h3{margin:8px 0 0; font-size:15px;}
.att-grid{display:flex; flex-wrap:wrap; gap:10px;}
.att-grid img{width:120px; height:120px; object-fit:cover; border-radius:10px; border:1px solid var(--border); background:#fff;}
.att-link{display:inline-block; padding:8px 12px; border-radius:10px; background:var(--bg); border:1px solid var(--border); color:var(--navy); font-size:13.5px;}
.talent-opps{margin-top:28px;}
.talent-opps h2{font-size:18px; margin:0 0 6px;}
.talent-opp-card{background:var(--card); border:1px solid var(--border); border-radius:12px; padding:14px 16px; margin-bottom:10px;}
.talent-opp-frame{
  display:flex; align-items:center; justify-content:center;
  width:100%; height:132px; margin:0 0 12px; padding:8px;
  border:1px solid var(--border); border-radius:12px; background:#f3f4f6;
  cursor:zoom-in;
}
.talent-opp-frame:hover{border-color:var(--navy);}
.talent-opp-photo{
  display:block; width:auto; max-width:100%; max-height:112px; height:auto;
  object-fit:contain; border-radius:8px; background:transparent;
}
.opp-view-img{
  display:block; width:100%; max-height:48vh; object-fit:contain;
  background:#f3f4f6; border:1px solid var(--border); border-radius:12px; margin:0 0 10px;
}
.opp-view-actions{display:flex; margin:0 0 12px;}
.opp-view-card{max-height:86vh; overflow:auto;}
.join-opp-thumb{
  display:block; width:auto; max-width:100%; max-height:180px; height:auto;
  object-fit:contain; border-radius:12px; margin:0 auto 12px;
  background:#f3f4f6; border:1px solid var(--border); cursor:zoom-in;
}
.opp-qs{margin-top:14px; padding-top:12px; border-top:1px solid var(--border);}
.opp-q{margin:0 0 12px;}
.opp-q-text{margin:0 0 6px; font-weight:700; color:#111;}
.opp-q-yesno{display:flex; gap:16px; flex-wrap:wrap;}
.opp-q-yesno label{display:flex; align-items:center; gap:6px; font-weight:600;}
.opp-q-answer{width:100%; min-height:84px; resize:vertical;}
.opp-q-msg{margin:8px 0 0;}
.opp-left{color:#166534; font-weight:800; font-size:13px; margin:6px 0;}
.opp-notes{margin:10px 0 4px; padding-top:10px; border-top:1px solid var(--border);}
.opp-notes-title{margin:0 0 8px; font-size:13px; font-weight:800; color:#0f3d56;}
.opp-note{background:#f6faf8; border-radius:10px; padding:8px 10px; margin-bottom:8px;}
.opp-note-text{margin:0 0 4px; font-size:13.5px; line-height:1.7; color:#111; white-space:pre-wrap;}
.opp-note-who{margin:0; font-size:12px; font-weight:700; color:#5a6b7b;}
.opp-points{margin:0 0 10px; padding:0 18px 0 0; color:#111;}
.opp-points li{margin:0 0 6px; line-height:1.65; font-size:13.5px;}
.opp-points.weak{color:#7c2d12;}
.btn-whatsapp{background:#128C7E; color:#fff; border:0; display:inline-flex; align-items:center; justify-content:center; gap:8px;}
.btn-whatsapp img{width:18px; height:18px;}
.btn-whatsapp:hover{background:#0e7a6e; color:#fff;}
.wa-fab{
  position:fixed;
  bottom:calc(20px + env(safe-area-inset-bottom, 0px));
  left:calc(18px + env(safe-area-inset-left, 0px));
  width:60px; height:60px; border-radius:50%;
  background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(18,140,126,.38);
  z-index:70;
  text-decoration:none;
}
.wa-fab img{width:32px; height:32px; display:block;}
.wa-fab:hover{background:#20ba5a; transform:scale(1.06);}
.wa-fab:active{transform:scale(.96);}
.wa-fab[hidden], body.is-authed .wa-fab{display:none !important;}
.reflect-box{margin-top:22px; padding-top:16px; border-top:1px solid var(--border);}
.reflect-box h3{margin:0 0 6px; font-size:16px; color:var(--navy);}
.reflect-list{display:flex; flex-direction:column; gap:10px; margin-top:14px;}
.reflect-card{background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:12px 14px;}
.reflect-card-top{display:flex; justify-content:space-between; gap:10px; align-items:flex-start;}
.reflect-date{display:block; font-size:12.5px; color:var(--text-muted); margin-top:2px;}
.reflect-body{white-space:pre-wrap; line-height:1.75; margin:10px 0 0; color:#111;}
.ach-list{display:flex; flex-direction:column; gap:10px;}
.ach-card{background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:12px 14px;}
.ach-card-top{display:flex; gap:10px; align-items:flex-start;}
.ach-card-title{margin:0 0 4px; font-weight:800;}
.ach-card-meta{font-size:13px; color:var(--text-muted);}
.ach-file-img{width:72px; height:72px; object-fit:cover; border-radius:8px; margin-top:8px; margin-left:8px; border:1px solid var(--border); cursor:zoom-in;}
.ach-icon{width:36px; height:36px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; color:#fff; flex:0 0 36px;}
.ach-gold{background:linear-gradient(145deg,#f6d365,#c9971a);}
.ach-silver{background:linear-gradient(145deg,#e8edf2,#7f8c8d);}
.ach-bronze{background:linear-gradient(145deg,#e0a36a,#8d4b1a);}
.ach-local{background:#188e92;}
.ach-intl{background:#2f3a70;}
.ach-rank,[class^="ach-rank"]{background:#1d4ed8;}
.ach-special{background:#7c3aed;}
.ach-patent{background:#0f766e;}
.ach-other{background:#6b7285;}
.regs-gate{max-width:560px;}
.regs-list{margin:14px 0; display:flex; flex-direction:column; gap:8px;}
.regs-item{display:flex; justify-content:space-between; gap:10px; align-items:center; background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:10px 12px;}
.regs-item strong{display:block;}
.regs-item span{font-size:12.5px; color:var(--text-muted);}
.regs-agree{margin:16px 0 12px; font-size:15px; font-weight:700;}
.regs-agree input{width:auto;}

.home-bylaw-btn{margin-bottom:16px;}
.rewards-doc .rewards-section:first-child{margin-top:0; padding-top:0; border-top:0;}
.rewards-section{margin:22px 0 0; padding-top:16px; border-top:1px solid var(--border);}
.rewards-section h2{margin:0 0 12px; font-size:18px; color:var(--navy);}
.rewards-section h3{margin:16px 0 8px; font-size:16px; color:#000;}
.rewards-section ul{margin:0; padding:0 20px 0 0; color:#000; line-height:1.8;}
.rewards-section li{margin:6px 0;}
.rewards-defs{margin:0; display:flex; flex-direction:column; gap:12px;}
.rewards-defs > div{background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:12px 14px;}
.rewards-defs dt{font-weight:800; color:var(--navy); margin-bottom:4px;}
.rewards-defs dd{margin:0; color:#000; line-height:1.75;}
.rewards-tiers{display:grid; grid-template-columns:repeat(5,1fr); gap:12px;}
.rewards-tier{border:1px solid var(--border); border-radius:14px; padding:14px 16px; background:#fff;}
.rewards-tier h3{margin:0 0 8px; font-size:16px;}
.rewards-tier p{margin:0 0 8px; color:#000; line-height:1.7;}
.rewards-tier ul{padding-inline-start:18px;}
.rewards-tier.enrolled{background:#f4f4f5; border:2px solid #9ca3af;}
.rewards-tier.silver{background:#ecfdf3; border:2px solid #22c55e;}
.rewards-tier.gold{background:#eff6ff; border:2px solid #3b82f6;}
.rewards-tier.diamond{background:#fff7ed; border:2px solid #f97316;}
.rewards-tier.pioneer{background:#f5f3ff; border:2px solid #7c3aed;}
.rewards-table-wrap{overflow:auto; margin:12px 0;}
.rewards-table{width:100%; min-width:520px; border-collapse:collapse; font-size:13.5px;}
.rewards-table th,.rewards-table td{border:1px solid var(--border); padding:8px 10px; text-align:right; vertical-align:top;}
.rewards-table th{background:#f8fafc; font-weight:800; color:var(--navy);}
.rewards-section > p{margin:0 0 10px; color:#000; line-height:1.85;}
.rewards-end{margin-top:10px; font-size:13px; font-weight:700; color:#555;}
@media (max-width:1100px){
  .rewards-tiers{grid-template-columns:1fr 1fr;}
}
@media (max-width:700px){
  .rewards-tiers{grid-template-columns:1fr;}
}
.home-rewards{margin-bottom:18px;}
.home-rewards-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.home-rewards .muted{margin:8px 0 0;}
.home-rewards-tiers{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0 0;}
.home-rewards-tiers .badge-tier{margin:0;}
.badge-tier{display:inline-block; margin:8px 0 0; padding:6px 12px; border-radius:999px; font-size:13.5px; font-weight:800;}
.home-rewards-tiers .badge-tier.is-off{opacity:.38; filter:grayscale(.35); box-shadow:none;}
.home-rewards-tiers .badge-tier.is-current{box-shadow:0 0 0 3px rgba(15,23,42,.08); opacity:1; filter:none;}
.badge-tier-enrolled{background:#f4f4f5; color:#3f3f46; border:2px solid #9ca3af;}
.badge-tier-diamond{background:#fff7ed; color:#c2410c; border:2px solid #f97316;}
.badge-tier-gold{background:#eff6ff; color:#1d4ed8; border:2px solid #3b82f6;}
.badge-tier-silver{background:#ecfdf3; color:#166534; border:2px solid #22c55e;}
.badge-tier-pioneer{background:#f5f3ff; color:#5b21b6; border:2px solid #7c3aed;}
.badge-tier-none,.badge-tier-expired,.badge-tier-cancelled{background:#f8fafc; color:#64748b; border:1px solid #cbd5e1;}
.rw-conditions{margin:12px 0 0; padding:0 18px; color:#111; line-height:1.8;}
.rw-store-list{display:flex; flex-direction:column; gap:10px;}
.rw-store-card{border:1px solid var(--border); border-radius:12px; padding:12px 14px; background:#fff;}
.rw-store-card strong{display:block; margin-bottom:4px;}
.rw-store-card span{display:block; color:var(--text-muted); font-size:13px;}
.rw-store-actions{display:flex; gap:8px; margin-top:10px; flex-wrap:wrap;}
.rw-store-actions .btn{width:auto; flex:1; min-width:120px; display:inline-flex; align-items:center; justify-content:center; gap:6px;}
.rw-icon{width:16px; height:16px; fill:currentColor;}
.rw-proof-ok{color:#047857;}
.rw-proof-no{color:#b91c1c;}
.rw-proof-row{display:flex; align-items:center; justify-content:space-between; gap:8px; direction:ltr; margin:8px 0 12px;}
.rw-proof-side{flex:1; min-width:0; text-align:center;}
.rw-proof-pct{font-size:36px; font-weight:800; color:var(--navy); line-height:1.1;}
.rw-proof-max span{display:block; font-size:12px; font-weight:700; color:var(--text-muted);}
.rw-proof-max strong{display:block; font-size:28px; font-weight:800; color:var(--navy); line-height:1.2;}
.rw-proof-wait{margin:0 0 10px; text-align:center; font-size:16px; font-weight:700; color:#b91c1c; line-height:1.5;}
.rw-proof-wait strong{display:block; margin-top:4px; font-size:30px; font-weight:800; direction:ltr;}
.rw-history-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.rw-history-table th,.rw-history-table td{padding:8px 6px; border-bottom:1px solid var(--border); text-align:right;}
.rw-history-table .rw-pts{font-weight:800; color:#166534; white-space:nowrap;}
.rw-history-table .rw-pts.is-neg{color:#b42318;}
.rw-overlay{position:fixed; inset:0; background:rgba(15,23,42,.55); z-index:80; display:flex; align-items:center; justify-content:center; padding:16px;}
.rw-overlay[hidden]{display:none !important;}
.rw-overlay-card{width:min(480px,100%); max-height:92vh; overflow:auto; background:#fff; border-radius:18px; padding:18px 16px; box-shadow:0 16px 40px rgba(0,0,0,.2);}
#rw-qr-reader,#qr-reader{width:100%; min-height:220px; overflow:hidden; border-radius:12px; background:#0b1020;}
.rw-scan-alert{margin-top:12px; background:#fee2e2; color:#991b1b; border:1px solid #fecaca; border-radius:10px; padding:10px 12px; font-weight:700; line-height:1.6;}
.rw-proof-discount{margin:8px 0 8px; text-align:center; font-size:42px; font-weight:800; color:var(--navy); line-height:1.25;}
.rw-proof-tier{display:block; width:fit-content; margin:0 auto 14px; padding:10px 22px; font-size:22px; font-weight:800; letter-spacing:.02em;}
.rw-proof-meta .badge-tier{margin:0; font-size:16px; padding:6px 14px;}
.rw-proof-qr{position:relative; display:flex; justify-content:center; align-items:center; margin:0; flex:0 0 auto; width:180px; height:180px;}
.rw-proof-qr img:not(.rw-proof-qr-logo),.rw-proof-qr canvas{width:180px; height:180px; max-width:180px;}
.rw-proof-qr-logo{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:46px;
  height:46px;
  max-width:46px !important;
  object-fit:contain;
  background:#fff;
  border-radius:10px;
  padding:4px;
  box-shadow:0 0 0 4px #fff;
  z-index:2;
}
.rw-proof-timer{text-align:center; font-size:22px; font-weight:800; color:#b45309; margin:0 0 12px;}
.rw-proof-meta{font-size:14px; line-height:1.8;}
.rw-proof-meta div{display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid var(--border); padding:6px 0;}
@media (max-width:720px){
  .topbar-inner{padding:8px 12px; gap:8px;}
  .topbar-logo{height:38px; max-width:110px;}
  .topbar-title strong{font-size:14px;}
  .topbar-title span{font-size:11px;}
  .container{padding:14px 12px 88px;}
  .wa-fab{width:56px; height:56px;}
  .wa-fab img{width:30px; height:30px;}
  .pad{padding:18px 14px;}
  .hero{margin:8px auto; max-width:100%;}
  .hero-logo{height:96px;}
  .home-head{flex-direction:column; align-items:stretch;}
  .home-actions{width:100%;}
  .home-actions .btn{flex:1; min-width:0; text-align:center;}
  .unit-contact-actions{flex-direction:row; flex-wrap:nowrap;}
  .unit-contact-actions .btn{width:auto; flex:1;}
  .intro-video video{max-height:56vw;}
  .form-head{flex-wrap:wrap; gap:8px;}
  .detail-row{flex-direction:column; gap:4px;}
  .detail-row .v{text-align:right;}
  .ic-thumb{width:56px; height:56px; flex-basis:56px;}
  .att-grid img{width:96px; height:96px;}
}
@media (max-width:480px){
  h1{font-size:19px;}
  .btn, button.btn{padding:11px 14px; font-size:14.5px;}
}
.announce-modal-card{max-height:calc(100vh - 32px); overflow-y:auto;}
.announce-image{display:block; width:100%; height:auto; border-radius:12px; margin:0 0 12px;}
.announce-body{white-space:pre-line;}
.announce-sections{margin:0 0 14px;}
.announce-section{margin-top:12px;}
.announce-section h2{margin:0 0 4px; font-size:17px; color:var(--navy);}
.announce-section p{margin:0; line-height:1.9;}
.attend-actions{display:flex; flex-direction:column; gap:8px;}
.attend-actions .btn{width:100%;}
.attend-facts{margin:0 0 14px;}
.attend-facts p{margin:0; line-height:1.9;}
.attend-facts span{display:inline-block; min-width:52px; font-weight:700; color:var(--navy);}

.badge-draft{background:#fff6e8;color:#8a5a00;border:1px solid #e6c98a;}
.ic-qualified{display:inline-block;margin:8px 0 0;background:#e7f6f4;color:#0f6e6a;border:1px solid #9fd0cf;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800;}
.participant-phone-field,.participant-card,.participant-remove{grid-column:1 / -1;}
.participant-phone-row{display:flex;gap:8px;align-items:center;}
.participant-phone-row input{flex:1;}
.participant-card{background:var(--bg);border-radius:10px;padding:8px 10px;}
.participant-card .p-meta-view{margin:4px 0 0;}
.p-msg{margin:6px 0 0;font-size:13px;}
.p-msg.error{color:var(--danger,#b42318);}
.p-msg.ok{color:#0f6b4a;}
.form-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
