* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI',Arial,Helvetica,sans-serif; background:#f4f6f9; color:#1c2433; }
.topbar { background:#0d2d5e; color:#fff; padding:0; }
.topbar-inner { max-width:960px; margin:0 auto; padding:14px 20px; display:flex; align-items:baseline; gap:10px; }
.brand { font-size:19px; font-weight:600; letter-spacing:.2px; }
.brand-sub { font-size:13px; color:#9db7dd; }
.shield { color:#5aa0f0; }
.wrap { max-width:960px; margin:26px auto; padding:0 20px; }
.quarbox,.loginbox { background:#fff; border:1px solid #dde3ec; border-radius:6px; padding:22px 24px; margin-bottom:22px; }
h1 { font-size:20px; font-weight:600; margin-bottom:10px; }
h2 { font-size:17px; font-weight:600; margin-bottom:14px; }
.muted { color:#5a6a80; font-size:14px; line-height:1.5; margin-bottom:14px; }
.small { font-size:12.5px; margin:12px 0 0; }
.qtable { width:100%; border-collapse:collapse; font-size:13.5px; margin-top:8px; }
.qtable th { text-align:left; background:#eef2f8; color:#41506a; padding:8px 10px; border:1px solid #dde3ec; font-weight:600; }
.qtable td { padding:8px 10px; border:1px solid #e4e9f1; vertical-align:top; }
.badge { display:inline-block; background:#fdf0e4; color:#b34700; border:1px solid #f3cfa8; border-radius:10px; padding:1px 9px; font-size:12px; font-weight:600; }
.lbl { display:block; font-size:13.5px; font-weight:600; color:#33415c; margin:10px 0 4px; }
.fld { width:100%; padding:10px 12px; font-size:14.5px; border:1px solid #c3ccd9; border-radius:4px; background:#fbfcfe; }
.fld:focus { outline:none; border-color:#2b6fd4; background:#fff; }
.btn { margin-top:16px; width:100%; padding:11px; font-size:15px; font-weight:600; color:#fff; background:#1f5fc4; border:none; border-radius:4px; cursor:pointer; }
.btn:hover { background:#1a53ad; }
.foot { text-align:center; color:#8a97ab; font-size:12.5px; padding:18px 0 30px; }
