:root{
  --cmp-bg:#0b1c3f;
  --cmp-fg:#ffffff;
  --cmp-accent:#c8a646;
  --cmp-muted:#e5e7eb;
  --cmp-text:#111827;
  --cmp-overlay:rgba(2,23,67,.5);
}

/* Links and buttons */
.cmp-link{color:#123b86;font-weight:700;text-decoration:underline}
.cmp-btn{
  height:40px;padding:0 14px;border-radius:10px;border:1px solid transparent;
  background:var(--cmp-accent);color:#1a1f2b;font-weight:700;cursor:pointer;transition:.2s ease
}
.cmp-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.cmp-btn--secondary{background:#fff;border-color:#d1d5db;color:#111827}
.cmp-btn--ghost{background:transparent;border-color:#d1d5db;color:#111827}

/* Banner */
.cmp-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:1000;
  background:linear-gradient(180deg,#0f2163 0%, #0b1c3f 100%);
  color:var(--cmp-fg);padding:14px;border-top:1px solid rgba(255,255,255,.15);
  display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap
}
.cmp-banner__text{max-width:800px;line-height:1.5}
.cmp-banner__actions{display:flex;gap:8px;align-items:center}

/* Modal */
.cmp-modal[hidden]{display:none}
.cmp-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center}
.cmp-modal__backdrop{position:absolute;inset:0;background:var(--cmp-overlay)}
.cmp-modal__panel{
  position:relative;z-index:1;background:#fff;color:var(--cmp-text);
  width:min(640px,92%);border-radius:14px;border:1px solid #e5e7eb;padding:16px;
  box-shadow:0 30px 60px rgba(0,0,0,.25)
}
.cmp-modal__close{
  position:absolute;right:8px;top:8px;width:36px;height:36px;border-radius:10px;
  border:1px solid #e5e7eb;background:#fff;cursor:pointer
}
.cmp-fieldset{margin:12px 0;padding:10px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}
.cmp-fieldset legend{font-weight:800;color:#123b86}
.cmp-switch{display:flex;gap:10px;align-items:center;font-weight:700}
.cmp-help{margin:6px 0 0;color:#475569;font-size:13px}
.cmp-modal__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:12px}

/* Mobile */
@media (max-width: 420px){
  .cmp-btn{height:36px;padding:0 10px;font-size:12px}
  .cmp-banner{gap:10px}
}
