/* Pannelli SaaS e pagine pubbliche: estende app.css, non lo sostituisce. */
.sform{display:flex;flex-direction:column;gap:12px;margin:6px 0}
.sform .btn{align-self:flex-start}
.sgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}
.sfield{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px;margin:0}
.sfield small{font-weight:400}
.scheck{display:flex;gap:10px;align-items:center;font-weight:500;margin:0}
.stable td .sform{margin:0 0 4px}
.stable td form{margin:0}
.dnsbox{background:#F6F9FC;border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;margin:6px 0}
code.mono{word-break:break-all}

.pub{background:var(--bg)}
.pub-head{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;background:var(--sidebar);color:#fff}
.pub-head .brandmark{color:#fff}
.pub-head .brandmark img{height:28px}
.pub-head nav{display:flex;gap:16px;align-items:center}
.pub-head nav a{color:#C8D4E5}
.pub-head nav a.btn{color:var(--ink)}
.pub-main{max-width:1080px;margin:0 auto;padding:28px 16px 60px}
.pub-foot{text-align:center;padding:20px}
.plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.plan .price{font:700 28px 'Space Grotesk',sans-serif;margin:8px 0}
.plan ul{padding-left:18px}
.pub-head .langmenu summary{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.pub-head .langmenu li a{color:var(--ink)}
