:root{--bg:#f7f9fb;--card:#ffffff;--text:#0f172a;--muted:#475569;--brand:#0f766e;--brand2:#115e59;--border:#e2e8f0;--shadow:0 10px 25px rgba(2,6,23,.08);--radius:16px}
*{box-sizing:border-box}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;background:var(--bg);color:var(--text)}
header{position:sticky;top:0;z-index:50;background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.navbar{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px;text-decoration:none;color:#fff;white-space:nowrap}
.brand-badge{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;font-weight:900}
.navlinks{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.navlinks a{color:#fff;text-decoration:none;font-weight:650;padding:8px 10px;border-radius:12px;opacity:.95}
.navlinks a:hover{background:rgba(255,255,255,.14)}
.navlinks a.active{background:rgba(255,255,255,.22)}
.container{max-width:1100px;margin:0 auto;padding:20px 16px}
.hero{padding:20px 0 6px}
.hero h1{margin:0 0 10px;font-size:34px;line-height:1.15}
.hero p{margin:0 0 14px;color:var(--muted);font-size:16px}
.kicker{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(15,118,110,.10);color:var(--brand);font-weight:700;margin-bottom:12px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.card.full{grid-column:1/-1}
.card.half{grid-column:span 6}
@media (max-width:900px){.card.half{grid-column:1/-1}.hero h1{font-size:30px}}
.small{color:var(--muted);font-size:14px}
input,select,textarea{width:100%;padding:12px 12px;border-radius:14px;border:1px solid var(--border);outline:none;font-size:15px;background:#fff}
input:focus,select:focus,textarea:focus{border-color:rgba(15,118,110,.45);box-shadow:0 0 0 4px rgba(15,118,110,.12)}
.btnrow{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:14px;border:1px solid transparent;background:var(--brand);color:#fff;text-decoration:none;font-weight:750;cursor:pointer}
.btn:hover{background:var(--brand2)}
.btn.secondary{background:#fff;color:var(--text);border-color:var(--border)}
.btn.secondary:hover{border-color:rgba(15,118,110,.35)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.listcard{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:12px;box-shadow:var(--shadow)}
.listcard p{margin:0 0 10px;color:rgba(15,23,42,.92)}
footer{padding:26px 16px 40px;color:var(--muted)}
.notice{border:1px dashed rgba(15,118,110,.35);background:rgba(15,118,110,.06);color:rgba(15,118,110,.95);padding:12px 14px;border-radius:16px}


/* Mobile nav */
.nav-toggle{
  display:none;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  border-radius:14px;
  padding:10px 12px;
  font-weight:800;
  cursor:pointer;
}
@media (max-width: 820px){
  .navbar{justify-content:space-between}
  .nav-toggle{display:inline-flex; align-items:center; justify-content:center; min-width:44px}
  .navlinks{
    position:fixed;
    left:12px; right:12px; top:64px;
    background:rgba(15,118,110,.98);
    border:1px solid rgba(255,255,255,.18);
    border-radius:18px;
    padding:12px;
    box-shadow:0 20px 40px rgba(2,6,23,.25);
    max-height:70vh;
    overflow:auto;
    display:none;
  }
  .navlinks.open{display:flex; flex-direction:column; align-items:stretch; gap:6px}
  .navlinks a{padding:12px 12px; border-radius:14px}
  .brand{max-width:70vw; overflow:hidden; text-overflow:ellipsis}
  body.nav-open{overflow:hidden}
  .nav-backdrop{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(2,6,23,.45);
    z-index:40;
  }
  .nav-backdrop.show{display:block}
  header{z-index:60}
}
