/* ===================================================================
   ACCOUNT VERIFICATION · DOCUMENTS
   =================================================================== */
.vstatus{display:inline-flex;align-items:center;gap:.45rem;margin-top:1rem;font-weight:700;font-size:.85rem;
  padding:.45rem .95rem;border-radius:50px}
.vstatus svg{width:15px;height:15px}
.vstatus.c-green{background:#e3f5ec;color:var(--green-d)}
.vstatus.c-orange{background:#fff3e0;color:#8a5a00}
.vstatus.c-red{background:#fdeceb;color:var(--red)}
.vstatus.c-ink{background:var(--paper-2);color:var(--ink)}

.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.doc-tile{border-radius:18px;padding:1.2rem;display:flex;flex-direction:column;gap:.5rem;min-height:170px}
.doc-tile.has-doc{box-shadow:0 0 0 1.5px rgba(1,122,66,.25)}
.dt-top{display:flex;align-items:center;justify-content:space-between}
.dt-ic{width:42px;height:42px;border-radius:12px;background:var(--paper-2);color:var(--green);display:grid;place-items:center}
.dt-ic svg{width:21px;height:21px}
.dt-badge{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;font-size:.68rem;padding:.25rem .55rem;border-radius:50px;color:#fff}
.dt-badge svg{width:12px;height:12px}
.dt-badge.c-green{background:var(--green)}.dt-badge.c-orange{background:var(--orange);color:var(--ink)}.dt-badge.c-red{background:var(--red)}
.doc-tile b{font-size:.95rem;line-height:1.25}
.dt-file{display:flex;align-items:center;gap:.35rem;color:var(--ink-soft);font-size:.8rem}
.dt-file svg{width:13px;height:13px}
.dt-note{font-size:.78rem;color:var(--red)}
.dt-empty{color:var(--ink-soft);font-size:.84rem;flex:1}
.dt-actions{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.3rem}
.dt-link{display:inline-flex;align-items:center;gap:.3rem;font-weight:700;color:var(--green);font-size:.85rem}
.dt-link svg{width:15px;height:15px}
.dt-del{background:none;border:none;color:var(--ink-soft);cursor:pointer;padding:.2rem}
.dt-del:hover{color:var(--red)}
.dt-del svg{width:16px;height:16px}
.dt-up{margin-top:auto}
.dt-upbtn{display:inline-flex;align-items:center;gap:.4rem;background:var(--green);color:#fff;font-weight:700;
  padding:.55rem 1rem;border-radius:50px;cursor:pointer;font-size:.85rem;transition:.2s}
.dt-upbtn:hover{background:var(--green-d)}
.dt-upbtn svg{width:15px;height:15px}

/* verified badge (reusable) */
.verified-badge{display:inline-flex;align-items:center;gap:.3rem;color:var(--green);font-weight:700}
.verified-badge svg{width:15px;height:15px}

/* dashboard verify prompt */
.verify-banner{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#fff7e8,#fffdf8);
  border:1px solid var(--orange);border-radius:16px;padding:1rem 1.3rem;margin-bottom:1.4rem;transition:.2s}
.verify-banner:hover{transform:translateY(-2px);box-shadow:0 16px 34px -20px rgba(246,149,29,.6)}
.vb-ic{width:44px;height:44px;border-radius:12px;background:var(--orange);color:var(--ink);display:grid;place-items:center;flex:none}
.vb-ic svg{width:22px;height:22px}
.vb-text{flex:1}
.vb-text b{display:block}
.vb-text small{color:var(--ink-soft);font-size:.85rem}
.vb-arrow{width:18px;height:18px;color:var(--orange);flex:none}
/* card verified tick */
.tcard-verified{display:inline-flex;color:#fff;margin-left:.25rem;vertical-align:middle}
.tcard-verified svg{width:17px;height:17px}

/* ===================================================================
   EVENT TICKET
   =================================================================== */
.tk-page{max-width:470px;margin:0 auto;padding:1.4rem clamp(1rem,4vw,2rem) 4rem}
.tk{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(26,23,16,.5)}
.tk-top{height:160px;background:linear-gradient(135deg,var(--green),var(--ink)) center/cover no-repeat;position:relative;color:#fff;display:flex;align-items:flex-end}
.tk-top-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.65))}
.tk-top-in{position:relative;z-index:2;padding:1.2rem}
.tk-chip{display:inline-flex;align-items:center;gap:.4rem;background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.4);padding:.25rem .7rem;border-radius:50px;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;backdrop-filter:blur(5px)}
.tk-chip svg{width:13px;height:13px}
.tk-top-in h1{font-family:var(--f-disp);font-weight:400;font-size:1.5rem;line-height:1.1}
.tk-body{padding:1.4rem}
.tk-meta{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-bottom:1.3rem;border-bottom:2px dashed var(--line);margin-bottom:1.3rem}
.tk-meta>div span{display:flex;align-items:center;gap:.35rem;color:var(--ink-soft);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}
.tk-meta svg{width:13px;height:13px}
.tk-meta b{font-size:.95rem}
.tk-stub{display:flex;gap:1.2rem;align-items:center}
.tk-qr{width:108px;height:108px;flex:none;background:#fff;border-radius:10px}
.tk-qr svg{width:100%;height:100%;display:block}
.tk-code small{color:var(--ink-soft);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.tk-code b{display:block;font-weight:800;font-size:1.2rem;letter-spacing:.06em;margin:.1rem 0 .55rem}
.tk-status{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;font-size:.8rem;padding:.3rem .7rem;border-radius:50px}
.tk-status svg{width:14px;height:14px}
.s-valid{background:#e3f5ec;color:var(--green-d)}.s-used{background:#fff3e0;color:#8a5a00}.s-cancelled{background:#fdeceb;color:var(--red)}
.tk-actions{display:flex;gap:.8rem;justify-content:center;margin-top:1.4rem;flex-wrap:wrap}
@media print{ .pbar,.back-link,.tk-actions,.glass-bg,.sub-ok{display:none !important} .tk{box-shadow:none;border:1px solid #ddd} body{background:#fff} }

/* notification channel prefs */
.notif-prefs{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;margin:1.6rem 0}
.notif-prefs h3{display:flex;align-items:center;gap:.5rem;font-family:var(--f-disp);font-weight:400;font-size:1.2rem;margin-bottom:.2rem}
.notif-prefs h3 svg{width:18px;height:18px;color:var(--green)}
.np-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);cursor:pointer}
.np-row:last-child{border:none}
.np-row>span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.6rem;align-items:center}
.np-row>span>svg{grid-row:1/3;align-self:center;width:18px;height:18px;color:var(--green)}
.np-row>span b{grid-column:2;grid-row:1;font-size:.95rem}
.np-row>span small{grid-column:2;grid-row:2;color:var(--ink-soft);font-size:.8rem}
.np-row input{display:none}
.np-row .fb-track{flex:none}
.np-row input:checked + .fb-track{background:var(--green)}
.np-row input:checked + .fb-track::after{transform:translateX(16px)}
.np-row input:disabled + .fb-track{opacity:.4}

/* AI review summary in results */
.result-ai{background:rgba(1,122,66,.06);border:1px solid rgba(1,122,66,.18);border-radius:12px;padding:.85rem 1rem;margin-bottom:1rem}
.ai-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--green);color:#fff;font-weight:800;font-size:.68rem;
  letter-spacing:.04em;text-transform:uppercase;padding:.25rem .6rem;border-radius:50px;margin-bottom:.45rem}
.ai-chip svg{width:13px;height:13px}
.result-ai p{color:var(--ink);font-size:.92rem;line-height:1.55}

/* ===================================================================
   COVERAGE MAP
   =================================================================== */
.cov-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.4rem}
.cov-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.1rem 1.3rem}
.cov-stat b{font-family:var(--f-disp);font-size:1.8rem;color:var(--green);display:block;line-height:1}
.cov-stat span{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-soft);font-weight:600;font-size:.85rem;margin-top:.3rem}
.cov-stat svg{width:15px;height:15px}
.map-wrap{display:grid;grid-template-columns:1fr 320px;gap:1.2rem;align-items:start}
.cov-map{height:560px;border-radius:20px;overflow:hidden;z-index:0}
.cov-side{border-radius:20px;padding:1.2rem;max-height:560px;overflow-y:auto}
.cov-side h3{font-family:var(--f-disp);font-weight:400;font-size:1.2rem;margin-bottom:.8rem}
.cov-prov{display:block;width:100%;text-align:left;background:none;border:none;border-radius:12px;padding:.6rem .6rem;cursor:pointer;transition:.15s}
.cov-prov:hover{background:rgba(1,122,66,.07)}
.cp-top{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:.92rem}
.cp-top span{color:var(--green)}
.cp-bar{height:6px;background:var(--paper-2);border-radius:6px;overflow:hidden;margin:.35rem 0 .3rem}
.cp-bar span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--green),var(--green-l))}
.cov-prov small{color:var(--ink-soft);font-size:.78rem}
/* leaflet markers */
.cov-pin{display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--green-l),var(--green-d));
  color:#fff;font-weight:800;font-size:.85rem;border:2.5px solid #fff;box-shadow:0 4px 12px -3px rgba(1,122,66,.6)}
.cov-pin-empty{background:#b9c6bd;box-shadow:none;opacity:.7}
.cov-pop b{font-size:1rem}
.cov-pop div{color:#555;font-size:.85rem}

/* org members table */
.orgm-table{border-radius:18px;padding:.5rem 1rem}
.orgm-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:.9rem;align-items:center;padding:.7rem .3rem;border-bottom:1px solid rgba(26,23,16,.07)}
.orgm-row:last-child{border:none}
.orgm-av{width:40px;height:40px;border-radius:11px;background:var(--green) center/cover no-repeat;display:grid;place-items:center;color:#fff;font-weight:700;font-size:.82rem;flex:none}
.orgm-name b{display:block;font-size:.92rem}
.orgm-name small{color:var(--ink-soft);font-size:.8rem}
.orgm-badge{font-weight:700;font-size:.7rem;padding:.25rem .6rem;border-radius:50px;text-transform:capitalize}
.vs-verified{background:#e3f5ec;color:var(--green-d)}.vs-pending{background:#fff3e0;color:#8a5a00}.vs-rejected{background:#fdeceb;color:var(--red)}.vs-unverified{background:var(--paper-2);color:var(--ink-soft)}
.orgm-date{color:var(--ink-soft);font-size:.82rem}
@media(max-width:560px){.orgm-row{grid-template-columns:auto 1fr}.orgm-badge,.orgm-date{display:none}}

/* ---- map: beautiful + interactive ---- */
.cov-map{box-shadow:0 30px 60px -34px rgba(1,92,50,.5)}
.cov-pin{position:relative;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle at 35% 28%,#1fb371,#015C32);color:#fff;font-weight:800;border:2.5px solid #fff;
  box-shadow:0 6px 16px -4px rgba(1,92,50,.7);cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s;
  animation:pinDrop .5s var(--ease) both}
.cov-pin::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(1,122,66,.5);
  animation:pinPulse 2.2s ease-out infinite}
.cov-pin-empty{background:#c3cdc6;box-shadow:none;border-color:#fff;animation:none}
.cov-pin-empty::before{display:none}
.cov-pin.hot{transform:scale(1.18);box-shadow:0 10px 24px -4px rgba(246,149,29,.8);z-index:1000}
@keyframes pinPulse{0%{transform:scale(.85);opacity:.8}70%{transform:scale(1.6);opacity:0}100%{opacity:0}}
@keyframes pinDrop{from{opacity:0;transform:translateY(-12px) scale(.6)}to{opacity:1;transform:none}}
.cov-prov{border:1px solid transparent}
.cov-prov.hot{background:rgba(246,149,29,.1);border-color:rgba(246,149,29,.4)}
.leaflet-popup-content-wrapper{border-radius:14px;box-shadow:0 18px 40px -16px rgba(0,0,0,.4)}
.leaflet-popup-content{margin:.8rem 1rem}
.cov-pop b{font-family:var(--f-disp);font-size:1.05rem;color:var(--green-d)}
.cov-pop .cp-line{display:flex;align-items:center;gap:.4rem;color:#555;font-size:.85rem;margin-top:.2rem;font-weight:600}
.cov-pop .cp-dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.cov-pop .cp-dot.o{background:var(--orange)}

@media(max-width:820px){ .map-wrap{grid-template-columns:1fr} .cov-side{max-height:none} .cov-stats{grid-template-columns:1fr} }
