:root{
  --navy:#1F3864; --navy-light:#2E5395; --grey:#f2f2f2; --border:#d9d9d9; --text:#222;
}
*{box-sizing:border-box;}
body{
  font-family: Arial, Helvetica, sans-serif; color:var(--text); margin:0;
  background:#fafafa;
}
header{
  background:var(--navy); color:#fff; padding:16px 20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px;
}
header h1{margin:0; font-size:1.1rem;}
header nav a{color:#fff; text-decoration:none; margin-left:16px; font-size:0.9rem; opacity:0.9;}
header nav a:hover{opacity:1; text-decoration:underline;}
.container{max-width:960px; margin:0 auto; padding:20px;}
.card{
  background:#fff; border:1px solid var(--border); border-radius:10px; margin-bottom:16px; padding:16px 20px;
}
h2{color:var(--navy); font-size:1.1rem;}
table{width:100%; border-collapse:collapse; margin-top:10px;}
th, td{text-align:left; padding:8px 10px; border-bottom:1px solid var(--border); font-size:0.9rem;}
th{color:#555; font-weight:bold; background:var(--grey);}
tr:hover td{background:#fafcff;}
label{display:block; font-size:0.82rem; color:#555; margin-bottom:4px; margin-top:10px;}
input[type=text], input[type=email], input[type=password], input[type=date], input[type=number], select, textarea{
  width:100%; padding:8px; border:1px solid var(--border); border-radius:6px; font-size:0.95rem; font-family:inherit;
}
.btn{
  background:var(--navy); color:#fff; border:none; padding:9px 16px; border-radius:6px; font-size:0.9rem; cursor:pointer; text-decoration:none; display:inline-block; margin-top:12px;
}
.btn:hover{background:var(--navy-light);}
.btn.secondary{background:#fff; color:var(--navy); border:1.5px solid var(--navy);}
.btn.small{padding:5px 10px; font-size:0.8rem; margin-top:0;}
.btn.danger{background:#c62828;}
.msg{padding:10px 14px; border-radius:6px; margin-bottom:14px; font-size:0.9rem;}
.msg.ok{background:#e8f5e9; color:#256029; border:1px solid #a5d6a7;}
.msg.err{background:#fdecea; color:#a02c2c; border:1px solid #f1a9a0;}
.login-box{max-width:360px; margin:80px auto 0;}
.actions{display:flex; gap:8px; flex-wrap:wrap;}
.muted{color:#777; font-size:0.85rem;}
a.link{color:var(--navy);}
