/* ============================================================
   PMPath · stili delle parti aggiunte per l'app (account, abbonamenti).
   Usa gli stessi colori e caratteri dell'app (variabili di app.css), chiaro e scuro inclusi.
   ============================================================ */
.authbox{display:grid;gap:10px;margin-top:6px}
.authbox input{width:100%;font:inherit;font-size:1rem;padding:12px 14px;border-radius:12px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink)}
.authbox input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.authbox input.code{letter-spacing:.35em;font-family:var(--mono);text-align:center;font-size:1.2rem}
.authbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border-radius:12px;font-weight:600;font-size:1rem;border:1px solid var(--line-2);background:var(--surface);color:var(--ink)}
.authbtn svg{width:20px;height:20px;flex:none}
.authbtn.apple{background:#000;color:#fff;border-color:#000}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .authbtn.apple{background:#fff;color:#000;border-color:#fff}}
:root[data-theme="dark"] .authbtn.apple{background:#fff;color:#000;border-color:#fff}
.authsep{display:flex;align-items:center;gap:10px;color:var(--ink-3);font-size:.85rem;margin:6px 0}
.authsep::before,.authsep::after{content:"";flex:1;height:1px;background:var(--line)}
.autherr{color:var(--bad-ink);font-size:.92rem}
.authlinks{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.linkbtn2{color:var(--accent-text);font-weight:600;font-size:.92rem}
.syncdot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--line-2);margin-right:6px;vertical-align:middle}
.syncdot.ok{background:var(--ok)}.syncdot.syncing{background:var(--warn)}.syncdot.offline,.syncdot.error{background:var(--bad)}
.accrows .setrow:last-child{border-bottom:0}

/* ---------- piani e abbonamenti ---------- */
.pwprice{display:flex;align-items:baseline;gap:4px;margin:8px 0 2px}
.pwprice b{font-family:var(--display);font-size:1.25rem}
.pwprice span{color:var(--ink-3);font-size:.9rem}
.qpt .btn,.qpt .chip{margin-top:10px}
.pwlegal{margin-top:14px;line-height:1.45}
.pwlegal-links{margin-top:8px}
/* ---------- Studio con il lucchetto ---------- */
.lockcard{text-align:center;display:grid;justify-items:center;gap:10px;padding:24px 18px}
.lockcard h2{font-size:1.15rem}
.lockic{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center}
.lockic svg{width:24px;height:24px}
.path.locked .phd{cursor:default}
.path.locked .phd svg{width:16px;height:16px;color:var(--ink-3)}
.tabbar a{position:relative}
.tabbar a .lk{position:absolute;top:2px;right:calc(50% - 20px);width:14px;height:14px;color:var(--ink-3)}
.tabbar a .lk svg{width:14px;height:14px}
.tile .lk svg,.tile .lockmini{width:16px;height:16px}
/* le schede dei piani restano dentro lo schermo anche sui telefoni stretti */
.sheet .qptiers{grid-template-columns:repeat(2,minmax(0,1fr))}
.qpt{min-width:0}
.qpt-h{flex-wrap:wrap;gap:6px}
.qpt .btn{width:100%;white-space:normal;justify-content:center;text-align:center}
.qpt .chip{white-space:nowrap}
@media (max-width:360px){.sheet .qptiers{grid-template-columns:minmax(0,1fr)}}

/* Case study e grafici delle domande */
.casebox{border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface-2);padding:12px 14px}
.casebox summary{cursor:pointer;display:flex;flex-direction:column;gap:2px;list-style:none}
.casebox summary::-webkit-details-marker{display:none}
.casebox[open] .chint{display:none}
.casebox .casetext p{margin:.65em 0 0;font-size:.97rem;line-height:1.55;color:var(--ink)}
.casebox .qmedia{margin-top:10px}
.qmedia{margin:0;padding:10px 10px 6px;border:1px solid var(--line);border-radius:var(--r-s);background:var(--surface)}
.qmedia figcaption{font-size:.86rem;color:var(--ink-2);font-weight:600;margin:0 0 6px 2px}
.qmedia svg,.qmedia img{width:100%;height:auto;margin:0 auto;display:block}
.qmedia table{font-size:.9rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
