/* WaiverForm dashboard — same design language as waiverform.io (site.css tokens) */
:root{
 --wf:#4B6BFB;--wf2:#7C5CFC;--wf-dark:#3A56D4;--ink:#0B0D17;--muted:#5B6474;
 --surface:#F7F8FC;--line:#E8EAF3;--halo:#EEF1FE;--ok:#1F9D5B;--ok-bg:#E7F6EE;
 --warn:#B97E12;--warn-bg:#FDF2E3;--bad:#C2413A;--bad-bg:#FBEBEB;
 --grad:linear-gradient(135deg,#4B6BFB,#7C5CFC);
 --r:16px;--shadow:0 6px 24px rgba(11,13,23,.06);--shadow-lg:0 24px 60px rgba(75,107,251,.16);
 --side:252px;
 /* aliases used by older markup */
 --accent:var(--wf);--accent-dark:var(--wf-dark);--slate:var(--muted);--paper:#fff;--field:var(--surface);--brand:var(--wf)
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}
[dir=rtl] body{font-family:"IBM Plex Sans Arabic",Manrope,system-ui,sans-serif}
a{color:var(--wf);text-decoration:none}a:hover{color:var(--wf-dark)}
h1,h2,h3,h4{letter-spacing:-.02em;margin:0 0 .6rem;font-weight:800}
h1{font-size:1.55rem}h2{font-size:1.25rem}h3{font-size:1.05rem}
.mono{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace;font-size:.82rem}

/* ── shell ── */
.app{display:flex;min-height:100vh}
.side{position:fixed;inset-block:0;inset-inline-start:0;width:var(--side);background:#fff;border-inline-end:1px solid var(--line);display:flex;flex-direction:column;z-index:40;transition:transform .2s}
.side .logo{display:flex;align-items:center;padding:1.15rem 1.25rem 1rem}
.side .logo img{height:30px;width:auto}
.nav{flex:1;overflow-y:auto;padding:.25rem .75rem 1rem}
.nav .grp{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#98A0B3;margin:1.1rem .6rem .35rem}
.nav a{display:flex;align-items:center;gap:.7rem;padding:.58rem .7rem;border-radius:11px;color:#2A3042;font-weight:600;font-size:.92rem;margin:1px 0}
.nav a svg{width:19px;height:19px;flex:none;stroke:currentColor;opacity:.75}
.nav a:hover{background:var(--surface);color:var(--wf)}
.nav a.on{background:var(--halo);color:var(--wf)}
.nav a.on svg{opacity:1}
.side .plan{margin:.5rem .9rem 1rem;padding:.9rem;border-radius:14px;background:var(--halo);border:1px solid #DCE3FE;font-size:.85rem}
.side .plan b{display:block;font-size:.95rem}
.side .plan .bar{height:6px;border-radius:9px;background:#fff;margin:.55rem 0;overflow:hidden}
.side .plan .bar i{display:block;height:100%;background:var(--grad);border-radius:9px}
.main{flex:1;margin-inline-start:var(--side);min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:.75rem;padding:.8rem 1.6rem;background:rgba(255,255,255,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top .ttl{font-weight:800;font-size:1.02rem;letter-spacing:-.01em}
.top .sp{flex:1}
.burger{display:none;border:0;background:transparent;padding:.3rem;cursor:pointer;color:var(--ink)}
.burger svg{width:24px;height:24px}
.content{padding:1.6rem;max-width:1180px;width:100%}
.scrim{display:none}

/* dropdowns (language, account) */
.dd{position:relative}
.dd>button{display:flex;align-items:center;gap:.45rem;border:1.5px solid var(--line);background:#fff;border-radius:11px;padding:.42rem .7rem;font:inherit;font-weight:700;font-size:.85rem;color:var(--ink);cursor:pointer}
.dd>button:hover{border-color:var(--wf)}
.dd .menu{display:none;position:absolute;inset-inline-end:0;top:calc(100% + 6px);min-width:190px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:.4rem;z-index:50}
.dd.open .menu{display:block}
.dd .menu a,.dd .menu button{display:block;width:100%;text-align:start;padding:.55rem .7rem;border-radius:9px;color:var(--ink);font:inherit;font-size:.88rem;font-weight:600;border:0;background:transparent;cursor:pointer}
.dd .menu a:hover,.dd .menu button:hover{background:var(--surface);color:var(--wf)}
.dd .menu .cur{color:var(--wf)}
.dd .menu hr{border:0;border-top:1px solid var(--line);margin:.35rem 0}
.avatar{width:28px;height:28px;border-radius:50%;background:var(--grad);color:#fff;display:inline-grid;place-items:center;font-size:.78rem;font-weight:800}

/* ── components ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:12px;padding:.62rem 1.15rem;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer;background:var(--grad);color:#fff;box-shadow:0 8px 20px rgba(75,107,251,.28);transition:transform .15s,box-shadow .15s;text-decoration:none;white-space:nowrap}
.btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px rgba(75,107,251,.38)}
.btn[disabled]{opacity:.55;cursor:default;transform:none}
.btn.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}
.btn.ghost:hover{border-color:var(--wf);color:var(--wf)}
.btn.ghost.on{border-color:var(--wf);color:var(--wf);background:var(--halo)}
.btn.sm{padding:.4rem .75rem;font-size:.8rem;border-radius:10px}
.btn.big{padding:.85rem 1.6rem;font-size:1rem}
.btn.danger,.btn.ghost.danger{color:var(--bad)}
.btn.ghost.danger:hover{border-color:var(--bad);color:var(--bad);background:var(--bad-bg)}
.pagehead{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}
.pagehead h1{margin:0}
.pagehead>span{display:flex;gap:.5rem;flex-wrap:wrap}
.panel,.editor{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;box-shadow:var(--shadow);margin-bottom:1.2rem}
.editor.narrow,.narrow{max-width:720px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.3rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;box-shadow:var(--shadow)}
.stat b{display:block;font-size:1.75rem;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.stat span{color:var(--muted);font-size:.85rem;font-weight:600}
.stat.warn b{color:var(--warn)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.55rem}
.card h3{margin:0}
.card .row{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:auto}
.meta{color:var(--muted);font-size:.85rem;margin:0}
.linkbox{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.5rem .65rem;word-break:break-all}
.tbl{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.tbl th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-align:start;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--line)}
.tbl td{padding:.75rem 1rem;border-bottom:1px solid var(--line);font-size:.9rem}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.row-flag td{background:#FFFBF3}
.tblwrap{overflow-x:auto}
.chip{display:inline-block;border-radius:99px;padding:.16rem .6rem;font-size:.74rem;font-weight:700;background:var(--surface);color:var(--muted);border:1px solid var(--line)}
.chip.ok{background:var(--ok-bg);color:var(--ok);border-color:#C9EBD7}
.chip.warn{background:var(--warn-bg);color:var(--warn);border-color:#F4DDB7}
.chip.bad{background:var(--bad-bg);color:var(--bad);border-color:#F3CFCC}
.alert{border-radius:12px;padding:.8rem 1rem;margin-bottom:1rem;background:var(--bad-bg);color:#7A2621;border:1px solid #F3CFCC;font-weight:600;font-size:.9rem}
.alert.ok{background:var(--ok-bg);color:#14643A;border-color:#C9EBD7}
.alert.info{background:var(--halo);color:#2B3FA5;border-color:#DCE3FE}
.empty{background:#fff;border:1.5px dashed var(--line);border-radius:var(--r);padding:2rem;text-align:center;color:var(--muted)}
.legalnote{font-size:.82rem;color:var(--muted)}
.searchbar{display:flex;gap:.6rem;margin-bottom:1.2rem}
.searchbar input{flex:1}
label{display:block;font-weight:700;font-size:.85rem;margin:.85rem 0 .35rem}
label.check{display:flex;align-items:center;gap:.5rem;font-weight:600}
label.check.sm{margin:0;font-size:.78rem}
input,select,textarea{width:100%;font:inherit;font-size:.92rem;padding:.62rem .8rem;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);margin-top:.35rem}
label.check input{width:auto;margin:0}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--wf);box-shadow:0 0 0 4px rgba(75,107,251,.12)}
input[type=color]{height:42px;padding:.2rem}
.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 1.2rem}
.pager{display:flex;gap:.5rem;justify-content:center;margin:1rem 0}
.logo-preview{max-height:60px;margin:.5rem 0}
.tplbar{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;font-size:.85rem;color:var(--muted);margin-bottom:.4rem}
.chipbtn{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:.35rem .9rem;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .12s}
.chipbtn:hover{border-color:var(--wf);color:var(--wf-dark);background:var(--halo)}
.frow{display:grid;grid-template-columns:2fr 110px 1.4fr 130px 66px 34px;gap:.4rem;align-items:center;margin:.35rem 0}
.frow input,.frow select{margin:0}
.frow .del{border:0;background:transparent;color:var(--bad);cursor:pointer;font-size:1rem;border-radius:6px}
.frow .del:hover{background:var(--bad-bg)}
.trans-box{border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;margin:1rem 0;background:var(--surface)}
.trans-box summary{cursor:pointer;font-weight:700}
.tpl-pick{text-decoration:none;color:inherit}
.tpl-pick .btn{margin-top:auto;align-self:flex-start}
.tpl-pick:hover{border-color:var(--wf);color:inherit}
.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.help-grid .card svg{width:28px;height:28px;stroke:var(--wf)}

/* billing */
.plan-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.card.hotplan{border:2px solid var(--wf);box-shadow:0 14px 34px rgba(75,107,251,.14)}
.pop{background:var(--grad);color:#fff;border-radius:99px;font-size:.68rem;font-weight:800;padding:.22rem .65rem;white-space:nowrap}
.cardtoggle{display:flex;gap:.3rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:.25rem;width:max-content}
.cardtoggle button{border:0;background:transparent;border-radius:8px;padding:.35rem .9rem;font:inherit;font-size:.82rem;font-weight:700;color:var(--muted);cursor:pointer}
.cardtoggle button.on{background:var(--wf);color:#fff;box-shadow:0 2px 8px rgba(75,107,251,.3)}
.price-line{font-size:1rem;margin:.2rem 0}
.price-line b{font-size:1.6rem;font-weight:800}
.billed-note{font-size:.78rem;color:var(--muted)}
.save-pill{display:inline-block;background:#EFE7FB;color:#6B3FA0;border-radius:8px;font-size:.75rem;font-weight:700;padding:.2rem .55rem;margin-inline-start:.4rem}
.limit-line{font-size:.92rem;margin:.3rem 0 0}
.feat-list{list-style:none;padding:0;margin:.3rem 0;font-size:.88rem;color:var(--muted)}
.feat-list li{position:relative;padding-inline-start:1.5rem;margin:.4rem 0}
.feat-list li::before{content:'✓';position:absolute;inset-inline-start:0;color:var(--wf);font-weight:800}

/* signed record (prints as the legal PDF) */
.docprev{background:#fff;max-width:780px;border:1px solid var(--line);border-radius:14px;padding:2rem clamp(1.2rem,4vw,2.6rem);box-shadow:var(--shadow)}
.doc-head{display:flex;align-items:center;gap:1rem;border-bottom:3px double var(--ink);padding-bottom:1rem;margin-bottom:1.1rem;flex-wrap:wrap}
.doc-logo{max-height:52px}
.bizline{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--wf);font-weight:700}
.doc-h{margin:.1rem 0 0;font-size:1.45rem}
.doc-waiver{font-size:.9rem;color:#2A2F42;border:1px solid var(--line);background:#FCFCFD;border-radius:10px;padding:1rem 1.1rem}
.doc-sec{margin-top:1.6rem}
.fill-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 2rem}
.fill-heading{grid-column:1/-1;font-size:1rem;margin:.6rem 0 0}
.fill{display:flex;flex-direction:column;padding:.35rem 0}
.fill span{font-size:.75rem;color:var(--muted)}
.fill b{font-weight:600;border-bottom:1.5px solid var(--ink);padding:.15rem 0 .25rem;min-height:1.4em}
.fill.flagged b{color:var(--warn);border-color:var(--warn)}
.unanswered{color:var(--muted);font-weight:400}
.sig-row{display:flex;gap:2.5rem;flex-wrap:wrap;margin-top:.6rem}
.sig-cell{min-width:240px}
.sigimg{border:1px solid var(--line);border-radius:10px;background:#fff;max-width:280px;max-height:140px}
.sigimg.photo{max-height:200px}
.sig-line{display:flex;justify-content:space-between;gap:1rem;border-top:1.5px solid var(--ink);margin-top:.3rem;padding-top:.3rem;font-size:.8rem;color:var(--muted)}
.audit{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:.6rem;color:var(--muted)}
.groupline{background:var(--halo);border:1px solid #D9E1FD;border-radius:10px;padding:.6rem .9rem;font-size:.88rem}
.inkfill{font-weight:600;border-bottom:1.5px solid var(--ink);padding:0 .25rem;white-space:nowrap}
.inkbox{font-size:1.1rem;line-height:1}

/* ── responsive ── */
@media (max-width:960px){
 .side{transform:translateX(-100%)}
 [dir=rtl] .side{transform:translateX(100%)}
 body.nav-open .side{transform:none;box-shadow:var(--shadow-lg)}
 body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(11,13,23,.35);z-index:35}
 .main{margin-inline-start:0}
 .burger{display:inline-flex}
 .content{padding:1.1rem}
 .top{padding:.7rem 1rem}
 .frow{grid-template-columns:1fr 1fr;}
 .fill-grid{grid-template-columns:1fr}
 .hide-sm{display:none}
 .stats{grid-template-columns:repeat(3,1fr);gap:.55rem}
 .stat{padding:.75rem .8rem}
 .stat b{font-size:1.35rem}
 .stat span{font-size:.74rem;line-height:1.25;display:block}
}
@media print{
 .side,.top,.noprint,.pagehead .btn,.scrim{display:none!important}
 .main{margin:0}.content{padding:0;max-width:none}
 body{background:#fff}
 .docprev{border:0;box-shadow:none;max-width:none}
 .doc-waiver{max-height:none!important;overflow:visible!important;border:0;background:#fff;padding:0}
 .sig-row,.sig-cell{page-break-inside:avoid;break-inside:avoid}
 .fill{break-inside:avoid}
}

/* ── auth pages (login, sign-up, password) ── */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}
.auth .form-pane{display:flex;align-items:center;justify-content:center;padding:2rem}
.auth .form-box{width:100%;max-width:400px}
.auth .form-box .logo img{height:32px}
.auth .form-box h1{margin:1.6rem 0 .3rem;font-size:1.7rem}
.auth .sub{color:var(--muted);margin:0 0 1.2rem}
.auth .form-box .btn{width:100%;margin-top:1.1rem;padding:.8rem}
.auth .links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem;font-size:.88rem}
.auth .art-pane{background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}
.auth .art-pane .halo{position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.1);top:-140px;inset-inline-end:-160px}
.auth .art-pane .pitch{position:relative;max-width:420px}
.auth .art-pane h2{font-size:1.9rem;line-height:1.2;margin-bottom:1rem}
.auth .art-pane ul{list-style:none;padding:0;margin:1.2rem 0 0}
.auth .art-pane li{padding:.4rem 0 .4rem 1.9rem;position:relative;font-weight:600}
[dir=rtl] .auth .art-pane li{padding:.4rem 1.9rem .4rem 0}
.auth .art-pane li::before{content:'✓';position:absolute;inset-inline-start:0;width:1.3rem;height:1.3rem;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:.75rem}
.auth .langrow{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:1.6rem}
.auth .langrow a{font-size:.8rem;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:.2rem .5rem}
.auth .langrow a.cur{color:var(--wf);border-color:var(--wf);background:var(--halo)}
.pw-wrap{position:relative;display:block}
.pw-toggle{position:absolute;inset-inline-end:.5rem;top:50%;transform:translateY(-35%);border:0;background:transparent;cursor:pointer;width:30px;height:30px;color:var(--muted)}
.pw-toggle::before{content:'👁';font-size:1rem}
.pw-toggle.show::before{content:'🙈'}
@media (max-width:860px){.auth{grid-template-columns:1fr}.auth .art-pane{display:none}}

/* ── Release 2: waiver list tabs, actions, share page, design picker ── */
.tabs{display:flex;gap:.4rem;margin:0 0 1rem;border-bottom:1px solid var(--line)}
.tabs a{padding:.55rem .9rem;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--wf);border-color:var(--wf)}
form.inl{display:inline}
.share-grid{display:grid;grid-template-columns:2fr 1fr;gap:1.2rem}
.copyrow{display:flex;gap:.5rem;align-items:flex-start}
.copyrow input,.copyrow textarea{margin:0;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.8rem;background:var(--surface)}
.qrpanel{text-align:center}.qrpanel img{border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;margin:.4rem auto}
.banner-preview{display:block;max-width:100%;max-height:110px;border-radius:10px;margin:.5rem 0;object-fit:cover}
.frow{position:relative}.frow-l{grid-column:1/-1;justify-self:start;font-size:.68rem;margin-top:-.15rem}
.themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.7rem;margin:.4rem 0 1rem}
.theme-card{margin:0;cursor:pointer;border:2px solid var(--line);border-radius:14px;padding:.55rem;background:#fff;font-weight:700;font-size:.85rem;text-align:center;transition:border .12s}
.theme-card input{position:absolute;opacity:0;width:0;height:0}
.theme-card:has(input:checked){border-color:var(--wf);box-shadow:0 0 0 4px rgba(75,107,251,.12)}
.tc-prev{display:block;height:74px;border-radius:9px;margin-bottom:.45rem;padding:9px 8px;text-align:start;background:#3D4560}
.tc-prev i{display:block;height:14px;border-radius:4px 4px 0 0;background:#fff;border-bottom:2px solid #0B0D17}
.tc-prev b{display:block;height:7px;margin-top:6px;border-radius:3px;background:#fff;width:90%}
.tc-prev b.s{width:55%;background:var(--wf)}
.t-modern .tc-prev{background:linear-gradient(160deg,#DCE3FE,#F7F8FC)}.t-modern .tc-prev i{background:#EEF1FE;border:0;border-radius:6px}.t-modern .tc-prev b{background:#fff}
.t-bold .tc-prev{background:#111423}.t-bold .tc-prev i{background:var(--wf);border:0;height:18px}
.t-minimal .tc-prev{background:#fff;border:1px solid var(--line)}.t-minimal .tc-prev i{border-bottom:1px solid var(--line)}.t-minimal .tc-prev b{background:#ECEEF4}
.t-elegant .tc-prev{background:#E6DED1}.t-elegant .tc-prev i{background:#FFFDF8;border-bottom:2px solid #8C6D3F}.t-elegant .tc-prev b{background:#FFFDF8}
@media (max-width:960px){.share-grid{grid-template-columns:1fr}.copyrow{flex-direction:column}.copyrow .btn{align-self:flex-start}}
.cert{margin-top:1.6rem;border:1px solid var(--line);border-radius:12px;overflow:hidden;break-inside:avoid}
.cert-h{background:var(--surface);padding:.6rem 1rem;font-weight:800;border-bottom:1px solid var(--line)}
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.cert-grid>div{padding:.55rem 1rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.cert-grid>div.wide{grid-column:1/-1}
.cert-grid span{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.cert-grid b{font-weight:600;font-size:.85rem;word-break:break-all}
.cert-note{font-size:.75rem;color:var(--muted);margin:0;padding:.55rem 1rem}
.doc-waiver .w-h{display:block;margin:.6rem 0 .1rem}
@media (max-width:700px){.cert-grid{grid-template-columns:1fr 1fr}}
.doc-waiver .w-h + br{display:none}
/* ── Release 3: team, events, check-in, analytics ── */
.ci-done{color:var(--ok);font-weight:800;font-size:.85rem}
.linkbtn{border:0;background:none;color:var(--muted);font:inherit;font-size:.8rem;text-decoration:underline;cursor:pointer;padding:0}
.role-help{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.8rem;color:var(--muted);margin-top:.8rem}
.sel-sm{width:auto;padding:.3rem .5rem;font-size:.82rem;margin:0}
td.acts{white-space:nowrap}td.acts form{margin-inline-end:.25rem}
details.panel>summary.sumh{cursor:pointer;font-weight:800;list-style:none}details.panel>summary.sumh::-webkit-details-marker{display:none}
details.panel[open]>summary.sumh{margin-bottom:.6rem}
.stat small{font-size:.9rem;color:var(--muted);font-weight:700}
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 1rem;align-items:end;padding:1rem 1.2rem}
.filters label{margin:.2rem 0}.filters .cust{display:none}.filters.custom .cust,.filters:has(option[value=custom]:checked) .cust{display:block}
.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.dl{display:inline-block;margin-top:.35rem;font-size:.78rem;font-weight:800;color:var(--muted)}.dl.up{color:var(--ok)}.dl.down{color:var(--bad)}
.ph{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.legend{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.35rem}.legend i{display:inline-block;width:14px;height:3px;border-radius:2px}.legend .k1{background:var(--wf)}.legend .k2{background:#B9C1D6;margin-inline-start:.6rem}
svg.chart{width:100%;height:auto;display:block}
svg.chart .gl{stroke:#EEF0F6;stroke-width:1}svg.chart .ax{font-size:10px;fill:#8A93A8;font-family:Manrope,system-ui,sans-serif}
svg.chart .l1{fill:none;stroke:#4B6BFB;stroke-width:2.4;stroke-linejoin:round}svg.chart .l2{fill:none;stroke:#B9C1D6;stroke-width:2;stroke-dasharray:5 4}
svg.chart .area{fill:rgba(75,107,251,.08)}svg.chart .bar{fill:#4B6BFB}svg.chart .bar:hover{fill:#7C5CFC}
.grid2c{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.grid2c .panel{margin:0}
.hb{display:grid;grid-template-columns:minmax(80px,38%) 1fr 40px;align-items:center;gap:.6rem;margin:.4rem 0;font-size:.85rem}
.hb-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-t{height:9px;background:var(--surface);border-radius:9px;overflow:hidden}.hb-t i{display:block;height:100%;background:var(--grad);border-radius:9px}
.hb b{text-align:end}
@media (max-width:960px){.grid2c{grid-template-columns:1fr}}
.filters.rec .wide{grid-column:span 2}@media (max-width:700px){.filters.rec .wide{grid-column:auto}}
.menu-who{padding:.4rem .7rem .2rem}.menu-who b{display:block;font-size:.88rem}.menu-who span{font-size:.75rem;color:var(--muted)}
.stat .dl{display:block}
.actas{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;background:#0B0D17;color:#fff;border-radius:12px;padding:.65rem 1rem;margin-bottom:1rem;font-weight:600;font-size:.88rem}.actas .btn{background:#fff;color:#0B0D17;box-shadow:none}
.syscheck{display:grid;grid-template-columns:26px minmax(160px,auto) 1fr;gap:.6rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.syscheck .dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800;color:#fff;background:var(--ok)}.syscheck.bad .dot{background:var(--bad)}.syscheck .fix{grid-column:2/-1;font-size:.82rem;color:var(--bad);background:var(--bad-bg);border-radius:8px;padding:.4rem .6rem}

/* ── Release 4: shell (full-width header, smooth sidebar without scrollbar) ── */
:root{--top:68px}
html{scroll-behavior:smooth}
.top{position:fixed;top:0;inset-inline:0;height:var(--top);z-index:45;display:flex;align-items:center;gap:.7rem;padding:0 1.4rem 0 1.25rem;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.top .logo{display:flex;align-items:center;width:calc(var(--side) - 1.25rem)}
.top .logo img{height:32px;width:auto}
.dd>button{border-radius:14px;padding:.5rem .85rem;gap:.55rem}
.dd>button .ic,.dd>button .chev{display:inline-flex;width:18px;height:18px;color:var(--muted)}
.dd>button .chev{width:16px;height:16px}
.dd>button .ic svg,.dd>button .chev svg{width:100%;height:100%}
.side{top:var(--top);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 14px,#000 calc(100% - 18px),transparent 100%)}
.side::-webkit-scrollbar{display:none;width:0;height:0}
.side .nav{flex:1 0 auto;overflow:visible;padding-top:.6rem}
.nav a{padding:.62rem .8rem;border-radius:12px;transition:background .15s,color .15s}
.main{padding-top:var(--top)}
.side .plan{margin:.6rem .9rem 1rem;padding:1rem;border-radius:16px;background:linear-gradient(160deg,#F1F3FF,#F7F4FF);border:1px solid #E1E6FD}
.plan-h{display:flex;align-items:center;gap:.5rem}
.plan-h svg{width:20px;height:20px;stroke:#4B6BFB;fill:rgba(75,107,251,.15)}
.plan-h b{font-size:.95rem}
.plan-sub{display:block;font-size:.8rem;color:var(--muted);margin-top:.15rem}
.plan-btn{width:100%;margin-top:.8rem;padding:.6rem}
.backlink{display:inline-block;font-size:.85rem;font-weight:700;margin-bottom:.6rem;color:var(--muted)}
@media (max-width:960px){
 .top{padding:0 .9rem}
 .top .logo{width:auto}.top .logo img{height:28px}
 .side{top:var(--top);height:calc(100% - var(--top))}
}

/* ── integrations ── */
.intgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}
.icard{display:flex;flex-direction:column;gap:.8rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;box-shadow:var(--shadow);color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s}
.icard:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#DCE3FE;color:var(--ink)}
.icard b{font-size:1.02rem}.icard p{margin:.2rem 0 0;color:var(--muted);font-size:.86rem}
.ilogo{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;flex:none;vertical-align:middle}
.ilogo svg{width:24px;height:24px}
h1 .ilogo{width:38px;height:38px;margin-inline-end:.4rem}h1 .ilogo svg{width:20px;height:20px}
.ist{align-self:flex-start;font-size:.78rem;font-weight:800;border-radius:99px;padding:.25rem .7rem;background:var(--halo);color:var(--wf)}
.ist.on{background:var(--ok-bg);color:var(--ok)}.ist.error{background:var(--bad-bg);color:var(--bad)}
ol.steps{margin:.6rem 0 1rem;padding-inline-start:1.2rem;color:#2A3042}ol.steps li{margin:.3rem 0}
.hookform .evs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;font-size:.85rem;font-weight:700}
details.sec summary{cursor:pointer;font-size:.75rem;color:var(--muted)}details.sec code{font-size:.72rem;word-break:break-all}
pre.apidoc{background:#0B0D17;color:#E6E9F5;border-radius:12px;padding:1rem;overflow-x:auto;font-size:.8rem;line-height:1.6}
.imqr-cta{margin-top:.8rem}

/* ── My waivers (Release 4) ── */
svg.i{width:18px;height:18px;flex:none}
.btn svg.i{width:17px;height:17px}
.ph2{align-items:flex-start}.psub{margin:.25rem 0 0;color:var(--muted);font-size:.95rem}
.alert.dismiss{display:flex;align-items:center;gap:.65rem}
.alert.dismiss .i{width:22px;height:22px;color:var(--ok)}
.alert.dismiss .x{margin-inline-start:auto;border:0;background:transparent;cursor:pointer;color:inherit;opacity:.7;display:inline-flex}.alert.dismiss .x:hover{opacity:1}
.wbar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin:1.1rem 0 1rem}
.wbar .tabs{margin:0;border-bottom:1px solid var(--line);flex:1 1 300px}
.wbar .tabs a{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.98rem}
.tabs .cnt{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 .45rem;border-radius:99px;background:var(--surface);border:1px solid var(--line);font-size:.78rem;color:var(--muted)}
.tabs a.on .cnt{background:var(--halo);border-color:#DCE3FE;color:var(--wf)}
.wsearch{position:relative;margin:0;flex:0 1 330px}
.wsearch .i{position:absolute;inset-inline-start:.85rem;top:50%;transform:translateY(-50%);color:var(--muted)}
.wsearch input{margin:0;padding:.7rem .9rem;padding-inline-start:2.6rem;border-radius:14px}
.wsort{display:flex;align-items:center;gap:.4rem;margin:0;border:1.5px solid var(--line);border-radius:14px;padding:0 .3rem 0 .85rem;background:#fff;font-weight:600;color:var(--muted);font-size:.88rem}
.wsort select{margin:0;border:0;padding:.62rem 1.6rem .62rem .2rem;font-weight:800;color:var(--ink);background-color:transparent;box-shadow:none!important;width:auto}
.vtoggle{display:flex;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.vtoggle button{border:0;background:transparent;padding:.55rem .75rem;cursor:pointer;color:var(--muted);display:inline-flex}
.vtoggle button.on{background:var(--halo);color:var(--wf)}
.wlist{display:flex;flex-direction:column;gap:1rem}
.wcard{display:flex;gap:1.4rem;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.4rem;box-shadow:var(--shadow);transition:box-shadow .2s,border-color .2s}
.wcard:hover{box-shadow:var(--shadow-lg);border-color:#E1E6FD}
.wthumb{flex:none;width:230px;aspect-ratio:1/1;max-height:230px;border-radius:16px;background:linear-gradient(160deg,#EEF1FE,#F5F2FF);display:grid;place-items:center;overflow:hidden}
.wthumb img{width:100%;height:100%;object-fit:cover}
.doc-ill{width:76%;height:auto}
.wbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:.65rem}
.wtop{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.wtop h3{font-size:1.3rem;margin:.1rem 0 0}
.kebab>button{padding:.45rem .6rem;border-radius:12px}
.kebab .menu{min-width:210px}
.kebab .menu a,.kebab .menu button{display:flex;align-items:center;gap:.55rem}
.kebab .menu form{margin:0}.danger-item{color:var(--bad)!important}
.wmeta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:0;color:var(--muted);font-size:.92rem}
.wmeta span{display:inline-flex;align-items:center;gap:.4rem}.wmeta .sep{opacity:.5}
.wchips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0}
.wchips .chip{padding:.3rem .8rem;font-size:.82rem}
.chip.dot.ok::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ok);margin-inline-end:.4rem;vertical-align:middle}
.wlink{display:flex;align-items:center;gap:.6rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.55rem .55rem .55rem .9rem;color:var(--muted)}
.wlink .mono{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.86rem}
.copybtn{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:#fff;border-radius:11px;padding:.45rem .8rem;color:var(--wf);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.copybtn:hover{border-color:var(--wf)}
.wacts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.15rem}
.wacts .btn{padding:.6rem 1rem}
/* list view */
.wlist.as-list{gap:.5rem}
.wlist.as-list .wcard{padding:.8rem 1rem;border-radius:14px;align-items:center;gap:1rem}
.wlist.as-list .wthumb{width:54px;max-height:54px;border-radius:10px}
.wlist.as-list .wbody{flex-direction:row;align-items:center;flex-wrap:wrap;gap:.4rem 1rem}
.wlist.as-list .wtop{flex:1 1 220px}.wlist.as-list .wtop h3{font-size:1rem}
.wlist.as-list .wlink,.wlist.as-list .wchips .chip:not(.dot){display:none}
.wlist.as-list .wacts .btn span{display:none}.wlist.as-list .wacts .btn{padding:.5rem .6rem}
.wlist.as-list .kebab{order:9}
@media (max-width:960px){
 .wcard{flex-direction:column;padding:1rem}.wthumb{width:100%;aspect-ratio:16/7;max-height:none}
 .wsearch{flex:1 1 100%}.wacts .btn span{display:none}.wacts .btn{padding:.55rem .7rem}
}

/* ── Template gallery (Release 4) ── */
.gbar{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1rem 0 .8rem}
.gbar .wsearch{flex:1 1 420px}
.gfive{margin:0;font-weight:700;font-size:.9rem}
.gchips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .9rem}
.gchips button{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:.45rem .95rem;font:inherit;font-weight:700;font-size:.86rem;cursor:pointer;color:#2A3042;display:inline-flex;gap:.45rem;align-items:center;transition:all .15s}
.gchips button span{font-size:.75rem;color:var(--muted);background:var(--surface);border-radius:99px;padding:.05rem .45rem}
.gchips button:hover{border-color:var(--cc,var(--wf))}
.gchips button.on{background:var(--ink);border-color:var(--ink);color:#fff}.gchips button.on span{background:rgba(255,255,255,.18);color:#fff}
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem;margin-top:.6rem}
.gcard{display:flex;flex-direction:column;gap:.55rem;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s,border-color .15s}
.gcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:#E1E6FD}
.gtop{display:flex;align-items:center;gap:.6rem}
.gicon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--cc) 12%,#fff);color:var(--cc)}
.gicon .i{width:22px;height:22px}
.gcat{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.gcard h3{font-size:1.06rem;margin:.1rem 0 0}
.gdesc{margin:0;color:var(--muted);font-size:.86rem;line-height:1.45;flex:1}
.gacts{display:flex;gap:.5rem;margin-top:.3rem}.gacts .btn{flex:1}
.modal{position:fixed;inset:0;background:rgba(11,13,23,.5);z-index:80;display:grid;place-items:center;padding:1rem;animation:fade .15s}
.modal[hidden]{display:none}
.modal-card{background:#fff;border-radius:20px;width:min(760px,100%);max-height:88vh;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.modal-h{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;border-bottom:1px solid var(--line)}
.modal-h h2{margin:0;font-size:1.2rem}.modal-h .x{border:0;background:var(--surface);border-radius:10px;padding:.4rem;cursor:pointer;display:inline-flex}
.modal-b{padding:1.1rem 1.4rem;overflow-y:auto;scrollbar-width:thin}
.gm-text{margin:.8rem 0;font-size:.9rem;line-height:1.6;color:#2A3042;background:var(--surface);border-radius:12px;padding:1rem 1.1rem}
.gm-text .blank{display:inline-block;width:70px;border-bottom:1.5px solid #9AA3B8;margin:0 .15rem;vertical-align:-2px}
.modal-b ul{margin:.3rem 0 0;padding-inline-start:1.2rem;font-size:.9rem}
.modal-f{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.4rem;border-top:1px solid var(--line)}
@keyframes fade{from{opacity:0}to{opacity:1}}
.qrbox{width:200px;height:200px;margin:.4rem auto;border:1px solid var(--line);border-radius:12px;padding:6px;background:#fff}
.qrbox svg{width:100%;height:100%;display:block}
.scan-top{display:flex;gap:1.2rem;align-items:stretch;margin:.4rem 0 1rem}.scan-top .stat{min-width:140px;margin:0}
.spark{flex:1;display:flex;align-items:flex-end;gap:2px;height:84px;background:var(--surface);border-radius:12px;padding:8px}
.spark i{flex:1;background:var(--grad);border-radius:3px 3px 0 0;min-width:2px}
.paytoggle{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.4rem 0 .8rem}
.ptopt{margin:0;border:2px solid var(--line);border-radius:14px;padding:.8rem 1rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}
.ptopt input{position:absolute;opacity:0}.ptopt b{font-size:1rem}.ptopt span{font-size:.8rem;color:var(--muted);font-weight:500}
.ptopt:has(input:checked){border-color:var(--wf);background:var(--halo)}
.testmode{background:#FFF4D6;color:#7A5410;border:1px solid #F4DDB7;border-radius:10px;padding:.5rem .8rem;font-size:.85rem;font-weight:700;margin-bottom:1rem}
.tgl{width:42px;height:24px;border-radius:99px;border:0;background:#D5DAE6;position:relative;cursor:pointer;padding:0;transition:background .15s}.tgl i{position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:inset-inline-start .15s}.tgl.on{background:var(--ok)}.tgl.on i{inset-inline-start:21px}
.funnel{display:flex;align-items:stretch;gap:.4rem;margin:.6rem 0 1.2rem;flex-wrap:wrap}
.fstep{flex:1 1 150px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem 1.1rem;box-shadow:var(--shadow);display:flex;flex-direction:column}
.fstep b{font-size:1.9rem;font-weight:800;letter-spacing:-.02em}.fstep span{font-weight:700;color:var(--muted)}.fstep small{color:var(--muted);font-size:.75rem}
.fstep.paid{background:linear-gradient(160deg,#EEF1FE,#F5F2FF);border-color:#DCE3FE}
.farrow{display:flex;align-items:center;font-weight:800;color:var(--wf);font-size:.85rem;padding:0 .2rem}
.farrow::after{content:'→';margin-inline-start:.3rem;color:#B9C1D6}[dir=rtl] .farrow::after{content:'←'}
