body { font-family: Arial, sans-serif; margin: 0; background: #f4f6fb; color: #1d2746; }
header { background: #243b7b; color: #fff; padding: 14px 22px; display:flex; justify-content:space-between; align-items:center; }
.container { max-width: 1180px; margin: 20px auto; padding: 0 16px; }
.grid { display:grid; gap:16px; }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.card { background:#fff; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,0.06); padding:16px; }
h1, h2, h3 { margin-top: 0; }
nav a { color:#fff; margin-right: 14px; text-decoration:none; }
table { width:100%; border-collapse: collapse; background:#fff; }
th, td { padding:10px; border-bottom:1px solid #e7ebf4; text-align:left; font-size:14px; }
form.inline { display:inline; }
input, select, textarea { width:100%; padding:10px; border:1px solid #cfd6ea; border-radius:8px; box-sizing:border-box; }
textarea { min-height:80px; }
button, .btn { background:#2e7d32; color:#fff; border:none; padding:10px 14px; border-radius:8px; cursor:pointer; text-decoration:none; display:inline-block; }
.btn.secondary { background:#3f51b5; }
.btn.warn { background:#ef6c00; }
.btn.danger { background:#c62828; }
.row { display:grid; grid-template-columns: repeat(auto-fit, minmax(200px,1fr)); gap:12px; }
.flash { padding:12px; border-radius:8px; margin-bottom:12px; background:#e8f0fe; }
.login-box { max-width:420px; margin:60px auto; }
.muted { color:#5d6785; font-size:14px; }
.badge { padding:4px 8px; border-radius: 999px; font-size:12px; background:#edf2ff; }
.actions { display:flex; flex-wrap:wrap; gap:8px; }
small.code { background:#eef2fa; padding:2px 6px; border-radius:5px; }

.no-print{}
@media print { nav, .no-print, button, .actions form, header a[href="#"] { display:none !important; } body { background:#fff; } .container { max-width:none; margin:0; } .card { box-shadow:none; border:1px solid #ddd; } input, select, textarea { border:1px solid #ccc; } }
