/* Giao diện chung – Tiện ích Nhungdao */
:root{
  --bg:#eeefe8; --paper:#ffffff; --ink:#3d423c; --muted:#7b8078; --line:#e2e4da;
  --brand:#5f7f58; --brand-dk:#46613f; --brand-soft:#e8efe4; --leaf:#8fb08a;
  --warm:#b8892f; --warm-soft:#f6ecd6; --err:#b3261e; --err-soft:#f8e4e1;
  --radius:14px; --w:1040px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-tap-highlight-color:transparent}
a{color:var(--brand-dk)}
.wrap{max-width:var(--w);margin:0 auto;padding:0 16px}
.brandbar{background:#f3f4ee;border-bottom:1px solid var(--line)}
.brandbar .wrap{display:flex;align-items:center;justify-content:center;padding-top:10px;padding-bottom:10px}
.brandbar img{height:64px;display:block}
.hero{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-dk) 100%);color:#fff}
.hero .wrap{padding-top:30px;padding-bottom:48px;text-align:center}
.hero h1{margin:0;font-size:30px;font-weight:700;letter-spacing:.3px}
.hero .lead{margin:10px auto 0;max-width:680px;font-size:16px;color:#e7f0e3}
.steps3{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0 0;padding:0;list-style:none}
.steps3 li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 14px;font-size:13.5px}
.steps3 b{display:inline-flex;width:20px;height:20px;border-radius:50%;background:#fff;color:var(--brand-dk);align-items:center;justify-content:center;font-size:12px;margin-right:6px}
main.wrap{margin-top:-28px;margin-bottom:40px}
.sheet{background:#fbfbf8;border:1px solid rgba(95,127,88,.22);border-radius:18px;box-shadow:0 8px 30px rgba(40,60,30,.08);padding:22px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 2px 12px rgba(40,60,30,.06)}
.card h2{margin:0 0 16px;font-size:17px;color:var(--brand-dk);display:flex;align-items:center;gap:10px}
.card h2 .num{background:var(--brand);color:#fff;border-radius:50%;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:none}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px;font-weight:600}
input,select,textarea{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;font-size:15px;background:#fff;color:var(--ink);font-family:inherit}
textarea{height:auto;min-height:90px;padding:10px 12px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--leaf);border-color:var(--leaf)}
input:disabled,select:disabled{background:#f4f4f0;color:#6d716b}
.req{color:var(--err)}
button{font-family:inherit;font-size:16px;border-radius:12px;padding:13px 34px;border:1px solid var(--brand);background:var(--brand);color:#fff;cursor:pointer;font-weight:600;box-shadow:0 3px 10px rgba(70,97,63,.25)}
button.ghost{background:#fff;color:var(--brand-dk);box-shadow:none;font-size:15px;padding:10px 22px}
button:hover{filter:brightness(1.07)}
button:disabled{opacity:.6;cursor:not-allowed}
.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:20px 0}
.muted{color:var(--muted)} .small{font-size:13px}
footer{text-align:center;color:var(--muted);font-size:12.5px;padding:10px 16px 28px}
footer a{color:var(--muted)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:#2F3631;color:#fff;padding:10px 18px;border-radius:999px;opacity:0;transition:.25s;z-index:90;pointer-events:none;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.err{background:var(--err)}
@media (max-width:640px){
  .hero h1{font-size:24px} .brandbar img{height:50px}
  .sheet{padding:12px;border-radius:14px}
}
