:root{
  --bg:#f5f7fb; --card:#ffffff; --ink:#1b2430; --muted:#5b6678;
  --brand:#0b3d91; --brand-ink:#ffffff; --accent:#e8f0ff; --line:#d5dbe6;
  --focus:#ffb703; --radius:10px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Leelawadee UI","Segoe UI",Tahoma,system-ui,sans-serif;
  font-size:1rem;line-height:1.6}
header{background:var(--brand);color:var(--brand-ink);padding:.75rem 1rem}
header h1{margin:0 0 .25rem;font-size:1.25rem}
nav{display:flex;flex-wrap:wrap;gap:.25rem .5rem}
nav a{color:var(--brand-ink);text-decoration:none;padding:.35rem .7rem;border-radius:999px}
nav a:hover{background:rgba(255,255,255,.18)}
main{max-width:720px;margin:1.25rem auto;padding:1.25rem;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius)}
main h2{margin-top:0;color:var(--brand)}
footer{max-width:720px;margin:0 auto 2rem;padding:0 1.25rem;color:var(--muted)}
label{font-weight:600}
input[type=text],input[type=email],input[type=password],input[type=date],
input[type=number],select,textarea{
  width:100%;max-width:100%;padding:.55rem .7rem;margin-top:.25rem;
  border:1px solid #9aa6bb;border-radius:8px;font:inherit;background:#fff;color:inherit}
input[type=checkbox]{width:1.1rem;height:1.1rem;margin-right:.4rem;vertical-align:middle}
fieldset{border:1px solid var(--line);border-radius:8px;padding:.5rem 1rem;margin:1rem 0}
legend{font-weight:700;padding:0 .4rem}
button{background:var(--brand);color:var(--brand-ink);border:0;border-radius:8px;
  padding:.65rem 1.25rem;font:inherit;font-weight:600;cursor:pointer}
button:hover{background:#082c69}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
ul{padding-left:1.25rem}
@media (max-width:480px){main{margin:.75rem;padding:1rem}footer{padding:0 1rem}}

/* ข้อความแจ้งผล (login) */
.msg { padding: .6rem .8rem; border-radius: 6px; margin: 0 0 1rem; }
.msg.ok { background: #e6f4ea; color: #1b5e20; }
.msg.error { background: #fdecea; color: #b71c1c; }
button.secondary { background: #fff; color: var(--brand); border: 2px solid var(--brand); margin-left: .5rem; }

/* ตารางข้อมูล (records) */
.tablewrap { overflow-x: auto; margin-bottom: 1.5rem; }
table { border-collapse: collapse; width: 100%; font-size: .95rem; }
th, td { border: 1px solid #d5dbe6; padding: .4rem .6rem; text-align: left; vertical-align: top; }
th { background: #eef2f9; }
