:root { --bg:#0b1220; --card:#111a2e; --text:#e9eefc; --muted:#a8b3d6; --accent:#4ea1ff; --danger:#ff5a6a; --ok:#58d68d; }
body { margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial; background:var(--bg); color:var(--text); }
a { color:var(--accent); text-decoration:none; }
.wrap { max-width:1100px; margin:0 auto; padding:18px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.brand { font-weight:800; letter-spacing:.2px; }
.nav a { margin-right:10px; padding:6px 10px; border-radius:10px; background:rgba(255,255,255,.04); }
.card { background:var(--card); border:1px solid rgba(255,255,255,.08); border-radius:16px; padding:14px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:12px; }
table { width:100%; border-collapse:collapse; }
th, td { text-align:left; padding:10px 8px; border-bottom:1px solid rgba(255,255,255,.08); }
th { color:var(--muted); font-weight:700; font-size:13px; }
.muted { color:var(--muted); }
.right { text-align:right; }
.btn { display:inline-block; padding:8px 12px; border-radius:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); color:var(--text); }
.btn.primary { background:var(--accent); color:#071022; border-color:transparent; font-weight:800; }
.btn.danger { background:var(--danger); color:#200; border-color:transparent; font-weight:800; }
input, select, textarea { width:100%; padding:10px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(0,0,0,.18); color:var(--text); }
label { font-size:13px; color:var(--muted); }
.flash { padding:10px 12px; border-radius:14px; margin-bottom:10px; border:1px solid rgba(255,255,255,.10); }
.flash.error { background:rgba(255,90,106,.14); }
.flash.success { background:rgba(88,214,141,.12); }
.flash.warning { background:rgba(255,206,84,.10); }
.mono { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }

/* --- v0.3.1 ajustes de alinhamento --- */
*, *::before, *::after { box-sizing: border-box; }
input[disabled] { opacity: 1; cursor: not-allowed; color: var(--muted); }
input[disabled], input:disabled, select:disabled, textarea:disabled {
  background: rgba(0,0,0,.18);
  border-color: rgba(255,255,255,.12);
}
form { width: 100%; }
