:root {
  --g:#9cbe9c;
  --navy:#1a2535;
  --navy2:#243040;
  --blue:#0047BB;
  --yellow:#FEDD04;
  --red:#E20714;
  --green:#3a6b2e;
  --green2:#4e8f3c;
  --orange:#c8700a;
  --header-text:#ffffff;
  --divider:#FEDD04;
  --header-bg:#1a2535;
  --sbt:env(safe-area-inset-top);
  --sbb:env(safe-area-inset-bottom);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:'Montserrat',sans-serif;}

/* Buttons */
.btn{padding:12px;border:none;border-radius:10px;font-size:13px;font-weight:700;font-family:'Montserrat',sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:opacity .2s;width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn-primary{background:var(--blue);color:#fff}
.btn-green{background:var(--green);color:#fff}
.btn-red{background:var(--red);color:#fff}
.btn-yellow{background:var(--yellow);color:var(--navy)}
.btn-outline{background:none;border:1px solid rgba(0,0,0,.15);color:var(--navy)}

/* Form */
.field{display:flex;flex-direction:column;gap:4px}
.field label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.field input,.field select,.field textarea{border-radius:9px;padding:10px 11px;font-size:14px;font-family:'Montserrat',sans-serif;width:100%;outline:none;transition:border-color .2s}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231a2535' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.field textarea{resize:none;min-height:70px;line-height:1.5}

/* Grid */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid.triple{grid-template-columns:1fr 1fr 1fr}
.grid.quad{grid-template-columns:1fr 1fr 1fr 1fr}
.full{grid-column:1/-1}

/* Cards */
.card{border-radius:14px;padding:1.25rem;margin-bottom:1rem}
.sec-title,.section-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem;display:flex;align-items:center;gap:8px}
.sec-title::after,.section-title::after{content:'';flex:1;height:1px}

/* Toast */
.toast{position:fixed;bottom:calc(80px + var(--sbb));left:50%;transform:translateX(-50%) translateY(50px);background:var(--navy);color:#fff;padding:8px 18px;border-radius:24px;font-size:12px;font-weight:600;border-left:3px solid var(--yellow);transition:transform .3s;z-index:99;white-space:nowrap;opacity:0}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1}

/* Misc */
.spinner{text-align:center;padding:2rem;font-size:12px;font-weight:600;opacity:.6}
.empty-state{text-align:center;padding:2rem 1rem;font-size:13px;opacity:.4}
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:10px;font-weight:700}
.error{border-radius:8px;padding:8px 12px;font-size:12px;text-align:center;margin-top:10px;display:none}
.error.show{display:block}

/* Lightbox */
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999;align-items:center;justify-content:center}
#lightbox img{max-width:95vw;max-height:90vh;border-radius:8px;object-fit:contain}
#lightbox .close{position:absolute;top:16px;right:20px;color:#fff;font-size:30px;cursor:pointer;line-height:1}
