:root{--bg:#0b0f14;--card:#121826;--text:#e6eaf2;--muted:#9aa4b2;--accent:#4ea1ff;--border:#1f2a3a}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(11,15,20,.95);backdrop-filter: blur(6px)}
.brand{font-weight:700;letter-spacing:.2px}
.nav a{color:var(--muted);text-decoration:none;margin-left:12px}
.nav a:hover{color:var(--text)}
.container{max-width:980px;margin:0 auto;padding:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px}
.card h2{margin:0 0 8px 0;font-size:18px}
.card p{margin:0 0 12px 0;color:var(--muted)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.field{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1}
label{color:var(--muted);font-size:13px}
input,select,textarea{background:#0e1420;border:1px solid var(--border);color:var(--text);border-radius:10px;padding:10px;font-size:14px;outline:none}
textarea{min-height:92px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#041018;border:none;border-radius:12px;padding:10px 14px;font-weight:700;text-decoration:none;cursor:pointer}
.btn.secondary{background:#233146;color:var(--text)}
.btn.danger{background:#ff5a6b;color:#1b0407}
hr{border:none;border-top:1px solid var(--border);margin:14px 0}
.muted{color:var(--muted)}
.kv{display:grid;grid-template-columns:180px 1fr;gap:8px}
.small{font-size:12px}
.qrWrap{display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;padding:10px}
.qr{background:#fff;border-radius:12px;padding:10px}
.code{white-space:pre-wrap;background:#0e1420;border:1px dashed var(--border);border-radius:10px;padding:10px;color:var(--text)}
.footer{margin-top:18px}
.badge{display:inline-flex;gap:6px;align-items:center;padding:4px 10px;border-radius:999px;background:#0e1420;border:1px solid var(--border);color:var(--muted);font-size:12px}
.ok{color:#7dffb7}
.warn{color:#ffd37d}
.err{color:#ff808e}



/* FO_UX_HELPERS_BEGIN */

.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}

.topbar .right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);font-size:12px;opacity:.95}

.notice{margin-top:12px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);font-size:13px;line-height:1.5;opacity:.95}

.hr{height:1px;background:rgba(255,255,255,.08);margin:16px 0}

.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}

@media (max-width: 900px){.grid{grid-template-columns:1fr}}

.card2{padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03)}

.card2 h3{margin:0 0 6px;font-size:16px}

.muted{opacity:.75}

.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

.inp{width:100%;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.18);color:inherit}

.btn{padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:inherit;cursor:pointer}

.btn.primary{background:rgba(42,98,255,.95);border-color:rgba(42,98,255,.95);color:#fff}

.btn.danger{background:rgba(255,80,80,.14);border-color:rgba(255,80,80,.24)}

.badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-size:12px;opacity:.9}

.badge.ok{background:rgba(0,200,120,.12)}

.badge.warn{background:rgba(255,170,0,.14)}

.badge.crit{background:rgba(255,80,80,.14)}

.fo-file{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}

.fo-file .file-name{opacity:.8;font-size:13px}

.fo-ro-badge{margin:10px 0;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);font-size:13px}

/* FO_UX_HELPERS_END */

