:root{
  --g-black:#050805; --g-dark:#052e16; --g:#16a34a; --g-light:#22c55e;
  --g-soft:#dcfce7; --g-line:#bbf7d0; --ink:#0b1f14;
}
body{font-family:'Sarabun',sans-serif;color:var(--ink);min-height:100vh;
  background:linear-gradient(160deg,#f0fdf4 0%,#e8f0ea 100%) fixed;}
.hero{background:linear-gradient(135deg,#000 0%,#052e16 50%,#16a34a 130%);
  color:#fff;padding:3.2rem 0 6rem;position:relative;overflow:hidden;}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;background:rgba(34,197,94,.12)}
.hero:before{width:320px;height:320px;top:-120px;right:-80px}
.hero:after{width:220px;height:220px;bottom:-110px;left:-60px}
.hero .badge-year{background:rgba(34,197,94,.18);border:1px solid rgba(74,222,128,.5);color:#bbf7d0;
  padding:.35rem .9rem;border-radius:50rem;font-size:.9rem;backdrop-filter:blur(4px)}
.hero h1{font-weight:700;letter-spacing:.2px}
.card-float{margin-top:-4rem;border:0;border-radius:1.25rem;
  box-shadow:0 20px 45px -15px rgba(5,46,22,.5);}
.btn-grad{background:linear-gradient(90deg,#16a34a,#052e16);border:0;color:#fff;font-weight:600;
  border-radius:.8rem;transition:.2s}
.btn-grad:hover{color:#fff;filter:brightness(1.15);transform:translateY(-1px);
  box-shadow:0 10px 20px -8px rgba(22,163,74,.7)}
.btn-outline-grad{border:2px solid var(--g);color:var(--g);border-radius:.8rem;font-weight:600}
.btn-outline-grad:hover{background:var(--g);color:#fff}
.form-control,.form-select{border-radius:.8rem;border:2px solid var(--g-line)}
.form-control:focus,.form-select:focus{border-color:var(--g);box-shadow:0 0 0 .25rem rgba(22,163,74,.2)}
.input-group-text{background:var(--g-soft);border:2px solid var(--g-line);color:var(--g);border-radius:.8rem 0 0 .8rem}
.input-group .form-control{border-radius:0 .8rem .8rem 0}
.result-head{background:linear-gradient(90deg,#050805,#052e16 60%,#16a34a);color:#fff;border-radius:1rem 1rem 0 0;padding:1.1rem 1.4rem}
.result-box{border:2px solid var(--g-line);border-radius:1rem;background:#fff;overflow:hidden}
.info-row{display:flex;padding:.8rem 1.4rem;border-bottom:1px dashed var(--g-line)}
.info-row:last-child{border-bottom:0}
.info-row .lbl{width:38%;color:#4b6355;font-weight:500}
.info-row .val{width:62%;font-weight:600}
.room-pill{background:linear-gradient(90deg,#050805,#052e16);border:2px solid #22c55e;color:#4ade80;
  border-radius:1rem;padding:1rem 1.4rem;text-align:center}
.room-pill .big{font-size:1.7rem;font-weight:700;color:#fff}
.alert-notfound{background:#f1f5f2;border:2px solid #1f2937;color:#111827;border-radius:1rem}
.site-footer{color:#4b6355;font-size:.9rem;padding:2rem 0}
/* admin */
.navbar-grad{background:linear-gradient(90deg,#000,#052e16 60%,#16a34a)}
.stat{border:0;border-radius:1rem;color:#fff}
.stat.s1{background:linear-gradient(135deg,#16a34a,#22c55e)}
.stat.s2{background:linear-gradient(135deg,#050805,#14532d)}
.table thead th{background:var(--g-soft);color:var(--g-dark);border-bottom:2px solid var(--g-line);white-space:nowrap}
.page-link{color:var(--g)} .page-item.active .page-link{background:var(--g);border-color:var(--g)}
@media print{.no-print{display:none!important}.hero{padding:1rem 0 1rem}.card-float{margin-top:0;box-shadow:none}
  .room-pill{background:#fff!important;border-color:#000;color:#000}.room-pill .big{color:#000}}
