/* funnelzi.com: stile condiviso delle pagine interne (docs, idee, admin). La landing ha il suo CSS. */
:root{--p:#6b4dff;--p2:#5a3df0;--v:#a45cff;--g:linear-gradient(135deg,#6b5bff,#b45cff);--pl:#f5f1ff;--bg:#fff;--sec:#f8f5ff;--card:#fff;--line:#e9e1fb;--text:#231a4a;--muted:#6a6290;--shadow:0 22px 50px -26px rgba(107,77,255,.32)}
:root[data-theme=dark]{--p:#a78bfa;--p2:#8b6cf5;--v:#c084fc;--g:linear-gradient(135deg,#6d4aff,#a855f7);--pl:#241a52;--bg:#0b0820;--sec:#120d33;--card:#191244;--line:rgba(255,255,255,.1);--text:#f2f1ff;--muted:#aaa8d0;--shadow:0 22px 50px -24px rgba(0,0,0,.7)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font:16px/1.7 'DM Sans',system-ui,sans-serif}
h1,h2,h3,.logo{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:-.02em}
a{color:var(--p)}.wrap{max-width:1040px;margin:0 auto;padding:0 20px}.narrow{max-width:780px}
nav.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:22px;text-decoration:none;color:var(--text)}
.links{display:flex;gap:22px;align-items:center;font-size:15px}.links a{text-decoration:none;color:var(--muted)}.links a:hover,.links a.on{color:var(--text)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:50px;font:700 15px 'DM Sans',sans-serif;text-decoration:none;border:2px solid transparent;cursor:pointer;background:var(--g);color:#fff}
.btn.o{background:transparent;border-color:var(--p);color:var(--p)}.btn.sm{padding:8px 16px;font-size:14px}.btn.danger{background:#e5484d}
.tg{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer}
.crumbs{font-size:14px;color:var(--muted);padding:22px 0 4px}.crumbs a{text-decoration:none}
h1{font-size:clamp(30px,5vw,42px);font-weight:800;line-height:1.15;margin:8px 0 12px}
h2{font-size:24px;font-weight:700;margin:34px 0 8px}h3{font-size:18px;margin:22px 0 6px}
p,li{color:var(--muted)}.lead{font-size:18px;margin-bottom:18px}ul,ol{padding-left:22px;margin:8px 0}
.brief{background:var(--sec);border:1px solid var(--line);border-left:5px solid var(--p);border-radius:12px;padding:16px 20px;margin:20px 0}.brief b{color:var(--p)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:22px 0}
.grid a.card{text-decoration:none;display:block;transition:transform .2s}.grid a.card:hover{transform:translateY(-3px)}.grid .card h3{margin:0 0 6px;color:var(--text)}
input,textarea,select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:16px 'DM Sans',sans-serif}
input:focus,textarea:focus{outline:2px solid var(--p)}label{display:block;font-weight:600;font-size:14px;margin:12px 0 6px;color:var(--text)}
.pill{display:inline-block;font:700 12px 'Plus Jakarta Sans';padding:3px 10px;border-radius:99px;background:var(--pl);color:var(--p);border:1px solid var(--line)}
table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top;color:var(--muted)}th{color:var(--text)}
code,.code{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--pl);padding:2px 7px;border-radius:6px;color:var(--text)}
footer.site{border-top:1px solid var(--line);margin-top:60px;padding:30px 0;color:var(--muted);font-size:14px}footer.site .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
details{border:1px solid var(--line);border-radius:14px;background:var(--card);margin-bottom:10px;padding:0 20px}summary{cursor:pointer;padding:16px 0;font:700 16px 'Plus Jakarta Sans'}details p{padding-bottom:16px}
.msg{padding:12px 16px;border-radius:12px;margin:12px 0;background:var(--pl);border:1px solid var(--line);color:var(--text)}.msg.bad{background:#fdecec;border-color:#f5c2c2;color:#8a1f1f}
@media(max-width:700px){.links a:not(.btn){display:none}}

.links a.btn{color:#fff}a.pill{text-decoration:none}

/* Documentazione: barra laterale + contenuto (stile come l'area docs di fluXtore) */
.badge{margin-right:auto;margin-left:10px;font:700 12px 'Plus Jakarta Sans';padding:4px 10px;border-radius:8px;background:var(--pl);color:var(--p);border:1px solid var(--line)}
.dlayout{display:grid;grid-template-columns:290px minmax(0,1fr);max-width:1240px;margin:0 auto;min-height:calc(100vh - 64px)}
.dside{position:sticky;top:64px;align-self:start;height:calc(100vh - 64px);overflow:auto;padding:22px 16px 40px;border-right:1px solid var(--line);background:var(--sec)}
.dsearch{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:0 12px;margin:0 0 14px;color:var(--muted)}
.dsearch input{border:0;background:transparent;padding:11px 0;outline:0}.dsearch input:focus{outline:0}.dsearch:focus-within{border-color:var(--p)}
.dcat{margin-bottom:4px}.dcat summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:9px;padding:10px 8px;font:800 12px 'Plus Jakarta Sans';letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-radius:10px}
.dcat summary:hover{background:var(--pl)}.dcat summary::-webkit-details-marker{display:none}.dcat summary .ic{color:var(--p);display:grid}
.dlink{display:block;padding:9px 12px 9px 36px;font-size:14.5px;color:var(--muted);text-decoration:none;border-left:3px solid transparent;border-radius:0 10px 10px 0}
.dlink:hover{color:var(--text);background:var(--pl)}.dlink.on{color:var(--p);background:var(--pl);border-left-color:var(--p);font-weight:700}
.dnone{color:var(--muted);padding:10px}
.dmain{padding:10px 44px 60px;max-width:900px}
.dmain .crumbs{padding-top:26px}.dmain .meta{font-size:14px;color:var(--muted)}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:26px 0}
.ccard{display:block;text-decoration:none;background:var(--sec);border:1px solid var(--line);border-radius:18px;padding:24px;transition:transform .2s,box-shadow .2s}
.ccard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ccard .cic{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--g);color:#fff;margin-bottom:16px}
.ccard h2{font-size:18px;margin:0 0 6px;color:var(--text)}.ccard p{font-size:14.5px}.ccard .cn{display:block;margin-top:14px;font:700 13px 'Plus Jakarta Sans';color:var(--p)}
.prose h2{margin-top:30px}.prose ol li,.prose ul li{margin:4px 0}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}.pnl{display:block;border:1px solid var(--line);border-radius:14px;padding:14px 18px;text-decoration:none;color:var(--text);font-weight:700}.pnl small{display:block;color:var(--muted);font-weight:500;margin-bottom:2px}.pnl.r{text-align:right}.pnl:hover{border-color:var(--p)}
@media(max-width:860px){.dlayout{grid-template-columns:1fr}.dside{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.dmain{padding:10px 20px 50px}.pn{grid-template-columns:1fr}}

/* Idea board (come fluXtore) */
.grad{background:var(--g);-webkit-background-clip:text;background-clip:text;color:transparent}
.ihero{background:linear-gradient(180deg,var(--sec),var(--bg));padding:46px 0 36px}.ihero h1{margin:0 0 12px}
.istats{border-block:1px solid var(--line);background:var(--card)}.istats .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.istat{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 8px;border-right:1px solid var(--line)}.istat:last-child{border:0}
.istat i,.ifilter i,.ist i{width:9px;height:9px;border-radius:50%;display:inline-block}.istat b{font:800 22px 'Plus Jakarta Sans';color:var(--text)}.istat span{font-size:14px;color:var(--muted)}
.ilayout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;padding-top:28px;align-items:start}
.idea{display:flex;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:var(--shadow)}
.vote{flex:none;width:56px;border:1px solid var(--line);border-radius:12px;background:var(--bg);cursor:pointer;color:var(--muted);padding:6px 0;text-align:center;font:inherit;display:flex;flex-direction:column;align-items:center;height:fit-content}
.vote span{font-size:13px}.vote b{font:800 18px 'Plus Jakarta Sans';color:var(--text);line-height:1.2}.vote small{font-size:10px;letter-spacing:.06em}.vote:hover{border-color:var(--p);color:var(--p)}.vote.voted{background:var(--pl);border-color:var(--p);color:var(--p);cursor:default}
.ibody{flex:1;min-width:0}.ihead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ihead h3{margin:0;font-size:17px;color:var(--text)}
.ist{flex:none;display:inline-flex;align-items:center;gap:6px;font:700 12px 'Plus Jakarta Sans';padding:4px 10px;border-radius:99px}
.ibody p{margin:6px 0 10px}.imeta{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted)}.chip{background:var(--pl);color:var(--p);border-radius:8px;padding:3px 10px;font-weight:600}
.iside{position:sticky;top:84px}.iside h3{font:800 12px 'Plus Jakarta Sans';letter-spacing:.08em;color:var(--muted);margin:0 0 10px}
.ifilter{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:0;background:transparent;padding:9px 10px;border-radius:10px;cursor:pointer;color:var(--text);font:inherit;font-size:14.5px}.ifilter em{margin-left:auto;font-style:normal;font-size:12px;background:var(--pl);border-radius:99px;padding:1px 9px;color:var(--muted)}.ifilter:hover,.ifilter.on{background:var(--pl);color:var(--p)}
.iside hr{border:0;border-top:1px solid var(--line);margin:14px 0}.linklike{background:none;border:0;color:var(--p);cursor:pointer;font:inherit;text-decoration:underline}
dialog.dlg{border:1px solid var(--line);border-radius:18px;padding:26px;max-width:480px;width:calc(100vw - 32px);background:var(--card);color:var(--text);box-shadow:0 30px 80px -20px rgba(40,20,120,.5)}dialog.dlg::backdrop{background:rgba(20,10,60,.5)}
@media(max-width:860px){.ilayout{grid-template-columns:1fr}.iside{position:static}.istats .wrap{grid-template-columns:1fr 1fr}.istat:nth-child(2){border-right:0}}

/* Prezzi (come fluXtore) */
.phero{background:linear-gradient(180deg,var(--sec),var(--bg));padding:46px 0 22px}.phero h1{margin:0 0 12px}.pnote{display:inline-block;background:#fff7e6;color:#92580a;border:1px solid #fde1a8;border-radius:99px;padding:4px 14px;font-size:13px;margin-bottom:14px}
.ptoggle{display:inline-flex;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:5px;box-shadow:var(--shadow);margin-top:6px}
.ptoggle button{border:0;background:transparent;color:var(--muted);font:700 14px 'DM Sans';padding:10px 20px;border-radius:99px;cursor:pointer}.ptoggle button.on{background:var(--g);color:#fff}.ptoggle em{font-style:normal;font-size:11px;background:#dcfce7;color:#15803d;border-radius:99px;padding:2px 8px;margin-left:6px}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);margin-top:30px;overflow:hidden}
.pcol{padding:30px 24px 28px;border-right:1px solid var(--line);position:relative}.pcol:last-child{border-right:0}
.pcol.pop{background:var(--g);color:#fff;border-right-color:transparent}.pcol.pop .pname,.pcol.pop .psub,.pcol.pop .pprice,.pcol.pop .pnote2,.pcol.pop .pfeat li{color:#fff}
.ptag{position:absolute;top:0;left:50%;transform:translateX(-50%);background:#f59e0b;color:#fff;font:800 11px 'Plus Jakarta Sans';letter-spacing:.06em;text-transform:uppercase;padding:5px 14px;border-radius:0 0 10px 10px}
.pname{font:800 13px 'Plus Jakarta Sans';letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:10px}.psub{font-size:13px;color:var(--muted);margin-bottom:14px}
.pprice{font:800 46px/1.1 'Plus Jakarta Sans';color:var(--text)}.pprice .cur{font-size:26px;vertical-align:top;margin-right:2px}.pprice small{font:500 15px 'DM Sans';color:var(--muted)}.pcol.pop .pprice small{color:rgba(255,255,255,.8)}
.pnote2{font-size:12px;color:var(--muted);min-height:20px;margin-bottom:12px}
.pbtn{display:block;text-align:center;padding:13px;border-radius:99px;font:800 13px 'Plus Jakarta Sans';letter-spacing:.05em;text-transform:uppercase;text-decoration:none;background:var(--g);color:#fff;margin:6px 0 20px}.pcol.pop .pbtn{background:#fff;color:#5a3df0}.pcol:first-child .pbtn{background:transparent;border:2px solid var(--p);color:var(--p)}
.pfeat{list-style:none;padding:0;margin:0}.pfeat li{padding:9px 0 9px 26px;border-top:1px solid var(--line);font-size:14px;color:var(--text);position:relative}.pcol.pop .pfeat li{border-top-color:rgba(255,255,255,.25)}
.pfeat li::before{content:"✓";position:absolute;left:2px;color:#10b981;font-weight:800}.pcol.pop .pfeat li::before{color:#fff}.pfeat li.no{color:var(--muted)}.pfeat li.no::before{content:"–";color:var(--muted)}
@media(max-width:980px){.pgrid{grid-template-columns:1fr 1fr}.pcol:nth-child(2){border-right:0}.pcol{border-bottom:1px solid var(--line)}}@media(max-width:560px){.pgrid{grid-template-columns:1fr}.pcol{border-right:0}}

.psoon{display:inline-block;margin-left:6px;font:800 10px 'Plus Jakarta Sans';letter-spacing:.06em;text-transform:uppercase;color:#92580a;background:#fff3d6;border:1px solid #fde1a8;border-radius:99px;padding:2px 9px;vertical-align:2px}.pcol.pop .psoon{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.45);color:#fff}

.plife{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;margin-top:26px;background:var(--card);border:2px solid var(--p);border-radius:22px;box-shadow:var(--shadow);padding:30px 34px}
.plife .pbtn{max-width:320px}.pbadge{display:inline-block;background:#f59e0b;color:#fff;font:800 11px 'Plus Jakarta Sans';letter-spacing:.06em;text-transform:uppercase;border-radius:99px;padding:4px 12px}
@media(max-width:760px){.plife{grid-template-columns:1fr;padding:24px}}
