:root{
  --ems-green:#314a25;
  --ems-green-dark:#172713;
  --ems-green-soft:#45633a;
  --ems-gold:#f9c454;
  --ems-gold-deep:#d99a1e;
  --ems-gold-soft:#ffe7a3;
  --ems-cream:#fff2cf;
  --ems-cream-2:#f8df9a;
  --ems-danger:#9a2f2f;
  --ems-info:#255a7a;
  --ems-success:#2f6b3f;
  --ems-shadow:0 18px 45px rgba(0,0,0,.22);
  --ems-radius:22px;
  --ems-radius-sm:14px;
  --ems-border:1px solid rgba(249,196,84,.35);
  --ems-font:Inter,Segoe UI,Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--ems-font);
  color:var(--ems-cream);
  background:
    radial-gradient(circle at top left, rgba(249,196,84,.18), transparent 28rem),
    linear-gradient(135deg, var(--ems-green-dark), var(--ems-green) 55%, #23391b);
  min-height:100vh;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button{border:0;cursor:pointer}
.ems-container{width:min(1180px,92vw);margin:0 auto}
.ems-section{padding:72px 0}
.ems-section.compact{padding:42px 0}
.ems-eyebrow{color:var(--ems-gold);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;margin:0 0 10px}
.ems-title{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0 0 18px;color:var(--ems-gold-soft)}
.ems-subtitle{font-size:1.08rem;line-height:1.8;color:rgba(255,242,207,.86);max-width:780px;margin:0}
.ems-card{
  background:linear-gradient(145deg, rgba(255,242,207,.16), rgba(249,196,84,.08));
  border:var(--ems-border);
  border-radius:var(--ems-radius);
  box-shadow:var(--ems-shadow);
  backdrop-filter:blur(14px);
}
.ems-card-solid{
  background:linear-gradient(145deg, rgba(255,231,163,.95), rgba(248,223,154,.9));
  color:#243817;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--ems-radius);
  box-shadow:var(--ems-shadow);
}
.ems-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:999px;padding:12px 22px;font-weight:800;letter-spacing:.01em;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease, background .2s ease;
  border:1px solid transparent;white-space:nowrap;
}
.ems-btn:hover{transform:translateY(-2px);filter:saturate(1.05)}
.ems-btn:disabled,.ems-btn.disabled{opacity:.5;cursor:not-allowed;transform:none;filter:grayscale(.3)}
.ems-btn-primary{background:linear-gradient(135deg,var(--ems-gold),var(--ems-gold-deep));color:#1d2f16;box-shadow:0 12px 25px rgba(249,196,84,.26)}
.ems-btn-secondary{background:rgba(255,242,207,.12);color:var(--ems-cream);border-color:rgba(249,196,84,.45)}
.ems-btn-green{background:linear-gradient(135deg,#416b35,#223d1b);color:var(--ems-cream);border-color:rgba(249,196,84,.25)}
.ems-btn-danger{background:linear-gradient(135deg,#b84b42,#7c2424);color:#fff2cf}
.ems-btn-small{padding:8px 14px;font-size:.86rem;border-radius:999px}
.ems-btn-row{padding:7px 12px;font-size:.82rem;border-radius:999px;background:rgba(49,74,37,.92);color:var(--ems-gold-soft);border:1px solid rgba(249,196,84,.35)}
.ems-btn-row:hover{background:var(--ems-green-dark)}
.ems-grid{display:grid;gap:24px}
.ems-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ems-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ems-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ems-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-weight:800;font-size:.78rem;background:rgba(249,196,84,.16);color:var(--ems-gold-soft);border:1px solid rgba(249,196,84,.35)}
.ems-table-wrap{width:100%;overflow-x:auto;border-radius:18px;border:1px solid rgba(249,196,84,.28)}
.ems-table{width:100%;border-collapse:collapse;min-width:760px;background:rgba(255,242,207,.08)}
.ems-table th,.ems-table td{text-align:left;padding:15px 16px;border-bottom:1px solid rgba(249,196,84,.18);vertical-align:middle}
.ems-table th{background:rgba(249,196,84,.18);color:var(--ems-gold-soft);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.ems-table td{color:rgba(255,242,207,.9)}
.ems-form{display:grid;gap:18px}
.ems-field label{display:block;margin-bottom:8px;color:var(--ems-gold-soft);font-weight:800;font-size:.9rem}
.ems-input,.ems-select,.ems-textarea{
  width:100%;border-radius:16px;border:1px solid rgba(249,196,84,.34);
  background:rgba(17,29,14,.55);color:var(--ems-cream);padding:13px 14px;outline:none;
}
.ems-textarea{min-height:120px;resize:vertical}
.ems-input:focus,.ems-select:focus,.ems-textarea:focus{border-color:var(--ems-gold);box-shadow:0 0 0 4px rgba(249,196,84,.16)}
.ems-select option{background:#243817;color:#fff2cf}
.ems-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;border:1px solid rgba(249,196,84,.35)}
.ems-status.active{background:rgba(47,107,63,.3);color:#cff4d6}
.ems-status.pending{background:rgba(249,196,84,.18);color:var(--ems-gold-soft)}
.ems-status.expired{background:rgba(154,47,47,.24);color:#ffd0c9}
@media (max-width:900px){.ems-grid-2,.ems-grid-3,.ems-grid-4{grid-template-columns:1fr}.ems-section{padding:52px 0}.ems-btn{width:auto;white-space:normal;text-align:center}}
