:root { --navy:#071833; --gold:#c5a35a; --paper:#f4efe6; --line:rgba(7,24,51,.12); --sans:"Source Sans 3",system-ui,sans-serif; }
* { box-sizing: border-box; }
body { margin:0; font-family: var(--sans); background:#eef1f6; color:#102033; }
a { color: inherit; }
.admin-shell { display:grid; grid-template-columns: 250px 1fr; min-height:100vh; }
.admin-side { background: var(--navy); color:#f4efe6; padding:22px 0; }
.admin-side a { display:block; padding:9px 22px; text-decoration:none; color:#d9d2c5; }
.admin-side a.is-active, .admin-side a:hover { background: rgba(197,163,90,.16); color:#fff; }
.admin-brand { padding: 0 22px 18px; border-bottom:1px solid rgba(255,255,255,.08); margin-bottom:12px; }
.admin-brand small { display:block; color: var(--gold); letter-spacing:.14em; text-transform:uppercase; font-size:.7rem; }
.admin-main { padding: 24px 28px 64px; }
.admin-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
table { width:100%; border-collapse: collapse; background:#fff; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); font-size:.92rem; vertical-align:top; }
.stat-grid { display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.stat-grid div { background:#fff; padding:16px; border:1px solid var(--line); }
.stat-grid strong { display:block; font-size:1.8rem; }
.btn { display:inline-flex; align-items:center; padding:8px 14px; background:var(--navy); color:#fff; text-decoration:none; border:0; cursor:pointer; font:inherit; }
.btn-gold { background: var(--gold); color: var(--navy); }
.btn-ghost { background:#fff; color:var(--navy); border:1px solid var(--line); }
.form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:12px; background:#fff; padding:18px; border:1px solid var(--line); }
.form-grid .full { grid-column: 1 / -1; }
label { display:flex; flex-direction:column; gap:6px; font-size:.88rem; font-weight:600; }
input, textarea, select { font:inherit; font-weight:400; padding:8px 10px; border:1px solid var(--line); }
.flash { padding:10px 12px; margin-bottom:12px; background:#e8f4ea; }
.flash-error { background:#fde8e8; }
.badge { display:inline-block; padding:2px 8px; border-radius:999px; background:var(--paper); font-size:.75rem; }
.login-wrap { min-height:100vh; display:grid; place-items:center; background:var(--navy); }
.login-card { width:min(420px, calc(100% - 24px)); background:#fff; padding:28px; }
.eyebrow-admin { letter-spacing:.16em; text-transform:uppercase; color:#8a6d2f; font-size:.75rem; }
.legacy-steps { list-style:none; padding:0; margin: 20px 0 28px; }
.legacy-steps li { display:grid; grid-template-columns: 48px 1fr auto; gap:14px; align-items:center; background:#fff; border:1px solid var(--line); padding:14px 16px; margin-bottom:8px; }
.legacy-steps .step-n { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--paper); font-weight:700; }
.legacy-steps .is-done .step-n { background:var(--gold); color:var(--navy); }
.legacy-steps small { display:block; color:#667; font-weight:400; }
.legacy-steps em { font-style:normal; font-size:.8rem; color:#667; }
.hint { display:block; font-weight:400; color:#667; margin:4px 0 6px; }
.bundle { background:#fff; border:1px solid var(--line); padding:18px; margin:22px 0; }
.bundle-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.bundle-grid ul { padding-left:18px; }
.qr-admin { margin-top:16px; padding-top:16px; border-top:1px solid var(--line); }
.inline-verify { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
.inline-verify select { max-width: 140px; }
.completeness-score { font-size:1.05rem; }
.completeness-score strong { font-size:1.35rem; }
.completeness-table { margin:12px 0 0; }
.qa-fail { color:#8a1f1f; font-weight:600; }
@media (max-width: 900px) {
  .admin-shell, .stat-grid, .form-grid, .bundle-grid { grid-template-columns: 1fr; }
}
