* { box-sizing: border-box; }
body { margin:0; font-family: Arial, sans-serif; background:#f3f7f7; color:#243238; }
.topbar { background:#117f78; color:white; padding:18px 26px; display:flex; justify-content:space-between; align-items:center; }
.brand { font-size:22px; font-weight:bold; }
.nav { background:#ffffff; padding:14px 26px; box-shadow:0 2px 8px #d9e2e2; }
.nav a { color:#117f78; text-decoration:none; margin-right:22px; font-weight:bold; }
.nav a:hover { text-decoration:underline; }
.container { max-width:1100px; margin:28px auto; padding:0 18px; }
.card { background:white; padding:24px; border-radius:10px; box-shadow:0 2px 12px #dfe8e8; margin-bottom:20px; }
h1,h2 { color:#117f78; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; }
.stat { background:#e4f4f1; padding:22px; border-radius:9px; }
.stat strong { display:block; font-size:28px; color:#117f78; margin-top:8px; }
input[type=text], input[type=password], input[type=number], input[type=date], select {
    width:100%; padding:11px; border:1px solid #cbd8d8; border-radius:6px; margin:6px 0 14px;
}
.btn { background:#117f78; color:white; border:0; padding:11px 18px; border-radius:6px; cursor:pointer; margin:4px 4px 4px 0; }
.btn:hover { background:#0b625d; }
.btn-danger { background:#b33b3b; }
.message { display:block; margin:12px 0; color:#b3261e; font-weight:bold; }
.success { color:#137333; }
table { width:100%; border-collapse:collapse; margin-top:14px; }
th,td { border:1px solid #dce5e5; padding:10px; text-align:left; }
th { background:#e8f4f2; color:#155e59; }
.login-wrap { max-width:440px; margin:65px auto; }
.footer { text-align:center; color:#718080; padding:25px; }
