.login-overlay{position:fixed;inset:0;background:linear-gradient(160deg,#0a3aa8,#0e6fb8);display:grid;place-items:center;z-index:100}
.login-card{background:#fff;border-radius:20px;padding:34px;width:340px;box-shadow:var(--shadow);text-align:center}
.login-card h2{font-size:22px;margin:16px 0 6px}
.login-sub{color:var(--ink-soft);font-size:14px;margin-bottom:18px}
.login-card input{padding:12px 14px;width:100%;border:1px solid var(--line);border-radius:10px;font-size:15px;margin-bottom:14px}
.login-card input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(20,87,214,.12)}
.login-err{color:#dc2626;font-size:13px;min-height:16px;margin-top:10px}

.admin-wrap{min-height:100vh;background:var(--bg-alt)}
.admin-top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.admin-actions{display:flex;gap:10px}
.admin-status{max-width:var(--maxw);margin:0 auto;padding:12px 22px;font-size:14px;min-height:20px}
.admin-status.ok{color:var(--ok)}
.admin-status.warn{color:#b45309}
.admin-status.err{color:#dc2626}

.admin-main{max-width:var(--maxw);margin:0 auto;padding:10px 22px 60px;display:grid;grid-template-columns:1fr 300px;gap:22px;align-items:start}
#editor{display:grid;gap:16px}
.group{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow)}
.group h3{font-size:16px;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.group h3 small{font-weight:500;color:var(--ink-soft);font-size:12px}
.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.fld{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--ink-soft);font-weight:600}
.fld input{padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;color:var(--ink)}
.fld input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(20,87,214,.12)}
.subgroup{border:1px dashed var(--line);border-radius:10px;padding:12px;margin-top:10px}
.subgroup .sg-title{font-size:12px;font-weight:700;color:var(--brand);margin-bottom:8px}
.tier-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end;margin-bottom:8px}
.tier-row .fld{font-size:12px}
.tier-del{background:#fee2e2;color:#dc2626;border:none;border-radius:8px;padding:8px 10px;cursor:pointer;font-size:13px}
.tier-add{margin-top:6px;background:var(--bg-alt);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px;font-weight:600}

.admin-doc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow);position:sticky;top:80px}
.admin-doc h4{margin-bottom:10px;font-size:15px}
.admin-doc ul{padding-left:18px;font-size:13px;color:var(--ink-soft);display:grid;gap:8px}
.admin-doc code{background:var(--bg-alt);padding:1px 5px;border-radius:4px;font-size:12px}

@media(max-width:900px){
  .admin-main{grid-template-columns:1fr}
  .admin-doc{position:static}
}
