* { box-sizing: border-box; }
body { margin:0; font-family: 'Segoe UI', Arial, sans-serif; background:#f4f6f9; color:#222; }
.topbar { display:flex; justify-content:space-between; align-items:center; background:#0f3d5c; color:#fff; padding:12px 24px; flex-wrap:wrap; }
.brand { font-weight:bold; font-size:20px; }
.brand span { font-weight:normal; font-size:13px; display:block; opacity:.8; }
nav a { color:#fff; text-decoration:none; margin-right:14px; font-size:14px; }
nav a:hover { text-decoration:underline; }
.user-chip { background:rgba(255,255,255,.15); padding:4px 10px; border-radius:12px; margin-right:14px; font-size:13px; }
.container { max-width:1100px; margin:24px auto; padding:0 16px; }
.card { background:#fff; border-radius:8px; padding:20px; box-shadow:0 1px 4px rgba(0,0,0,.08); margin-bottom:20px; }
h1,h2,h3 { color:#0f3d5c; }
table { width:100%; border-collapse:collapse; margin-top:10px; }
th, td { padding:10px; border-bottom:1px solid #e2e6ea; text-align:left; font-size:14px; }
th { background:#eef3f7; }
.btn { display:inline-block; background:#0f3d5c; color:#fff; padding:8px 16px; border:none; border-radius:5px; cursor:pointer; text-decoration:none; font-size:14px; }
.btn:hover { background:#0b2c44; }
.btn-danger { background:#c0392b; }
.btn-danger:hover { background:#992d22; }
.btn-sm { padding:4px 10px; font-size:12px; }
form.inline { display:inline; }
input, select, textarea { width:100%; padding:8px; border:1px solid #ccd3da; border-radius:5px; margin-top:4px; font-size:14px; }
label { font-weight:600; font-size:13px; margin-top:12px; display:block; }
.flash { padding:10px 14px; border-radius:6px; margin-bottom:16px; font-size:14px; }
.flash.success { background:#d4edda; color:#155724; }
.flash.error { background:#f8d7da; color:#721c24; }
.login-box { max-width:380px; margin:60px auto; }
.badge { padding:3px 10px; border-radius:10px; font-size:12px; color:#fff; }
.badge.draft { background:#95a5a6; }
.badge.submitted { background:#2980b9; }
.badge.under_review { background:#e67e22; }
.badge.completed { background:#27ae60; }
.footer { text-align:center; padding:16px; color:#888; font-size:12px; }
.flex-between { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
@media print {
  .topbar, .footer, .no-print { display:none !important; }
}
