/*
 * Functional additions (forms, alerts, wizard, status rows) built ONLY from the reference tokens
 * (colors, glass, radius, shadows). They add no new visual identity and no animations.
 */
/* Short pages (status, installer): let the reference gradient cover the whole viewport */
body{min-height:100vh}
.skip-link{position:absolute;inset-inline-start:12px;top:-60px;background:#ffd83d;color:#182033;padding:10px 14px;border-radius:14px;font-weight:800;z-index:10}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
a.btn{display:inline-block;text-decoration:none}
.field{display:grid;gap:7px;margin-bottom:16px}
.field label{font-weight:800;font-size:14px}
.field .hint{font-size:12px;opacity:.72}
.input,.select{width:100%;padding:13px 15px;border-radius:17px;border:1px solid var(--line);background:rgba(4,22,48,.55);color:white;font:inherit;font-size:15px}
.input::placeholder{color:rgba(255,255,255,.45)}
.input[dir="ltr"]{text-align:left}
.select option{color:#071326}
.check{display:flex;align-items:center;gap:10px;font-weight:700}
.check input{width:18px;height:18px;accent-color:#ffb900}
.alert{padding:14px 18px;border-radius:20px;margin-bottom:16px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.075);line-height:1.8}
.alert.error{border-color:rgba(232,0,112,.7);background:rgba(232,0,112,.18)}
.alert.ok{border-color:rgba(91,220,255,.7);background:rgba(0,174,255,.16)}
.alert.warn{border-color:rgba(255,210,46,.7);background:rgba(255,210,46,.12)}
.steps{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:0;list-style:none}
.steps li{padding:9px 14px;border-radius:18px;font-weight:800;font-size:13px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.16)}
.steps li.current{background:linear-gradient(135deg,#19a8ff,#0878e8);box-shadow:0 0 24px rgba(41,180,255,.35)}
.steps li.done{border-color:rgba(91,220,255,.7)}
.rows{display:grid;gap:10px}
.row{padding:14px 16px;border-radius:20px;background:rgba(255,255,255,.075);display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.badge{padding:5px 12px;border-radius:14px;font-weight:900;font-size:12px;border:1px solid rgba(255,255,255,.25)}
.badge.ok{background:rgba(0,174,255,.25);border-color:rgba(91,220,255,.7)}
.badge.warn{background:rgba(255,210,46,.2);border-color:rgba(255,210,46,.7)}
.badge.fail{background:rgba(232,0,112,.28);border-color:rgba(232,0,112,.8)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.lang-switch{display:flex;gap:8px;flex-wrap:wrap}
.lang-switch a{color:white;text-decoration:none;padding:10px 14px;border-radius:17px;font-weight:800;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1)}
.lang-switch a.active{background:linear-gradient(135deg,#19a8ff,#0878e8)}
.lang-switch .lang-btn{color:white;padding:10px 14px;border-radius:17px;font:inherit;font-weight:800;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);cursor:pointer}
.lang-switch .lang-btn.active{background:linear-gradient(135deg,#19a8ff,#0878e8)}
.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.grid4.grid3{grid-template-columns:repeat(3,1fr)}
.wizard{width:min(880px,94%);margin:auto}
@media(max-width:1050px){.grid4.grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid4.grid3{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
