/* SPART! License Server – pagine pubbliche (acquisto, area clienti, supporto). */
.sls {
	--sls-green: #0BBA5C;
	--sls-green-dark: #08793D;
	--sls-mint: #B9EFCF;
	--sls-tint: #E7F8EE;
	--sls-ink: #333333;
	--sls-muted: #5A605C;
	--sls-line: #D3D9D5;
	max-width: 640px;
	margin: 0 auto;
	color: var(--sls-ink);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.sls *, .sls *::before, .sls *::after { box-sizing: border-box; }
.sls p { margin: 0; }
.sls-card { background: #fff; border: 2px solid var(--sls-ink); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: 6px 6px 0 var(--sls-green); }
.sls-card--ok { box-shadow: 6px 6px 0 var(--sls-green); }
.sls .sls-h2 { margin: 0; font-size: 24px; line-height: 1.2; font-weight: 800; }
.sls-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.sls-help { font-size: 14px; color: var(--sls-muted); }
.sls-code { align-self: flex-start; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 22px; font-weight: 700; letter-spacing: .06em; padding: 12px 16px; background: var(--sls-tint); border-radius: 12px; word-break: break-all; }
.sls-steps { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.sls-form p { display: flex; flex-direction: column; gap: 6px; }
.sls-form label { font-size: 14px; font-weight: 600; }
.sls .sls-form input, .sls .sls-form textarea { width: 100%; min-height: 48px; padding: 10px 14px; border: 2px solid var(--sls-line); border-radius: 12px; font: inherit; font-size: 16px; background: #FAFAF7; }
.sls .sls-form input:focus, .sls .sls-form textarea:focus { outline: 3px solid var(--sls-mint); border-color: var(--sls-ink); }
.sls-hp { position: absolute !important; left: -9999px; }
.sls .sls-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border-radius: 999px; border: 2px solid var(--sls-ink); background: #fff; color: var(--sls-ink); font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.sls .sls-btn--primary { background: var(--sls-green); border-color: var(--sls-green); color: var(--sls-ink); }
.sls .sls-btn:hover { filter: brightness(.95); }
.sls-buy { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.sls-buy .sls-btn { min-height: 56px; font-size: 17px; }
.sls-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.sls-actions form { margin: 0; }
.sls-dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; font-size: 15px; }
.sls-dl dt { color: var(--sls-muted); }
.sls-dl dd { margin: 0; font-weight: 600; }
.sls-pill { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; }
.sls-pill.is-ok { background: var(--sls-mint); }
.sls-pill.is-ko { background: #FFE3DC; color: #7A2A0B; }
.sls-notice { padding: 12px 14px; border-radius: 12px; font-size: 14px; line-height: 1.45; }
.sls-notice--ok { background: var(--sls-mint); }
.sls-notice--info { background: var(--sls-tint); }
.sls-notice--error { background: #FFF4F2; border-left: 4px solid #D9480F; color: #7A2A0B; }
@media (max-width: 600px) { .sls-card { padding: 18px; } .sls-dl { grid-template-columns: 1fr; } }
