/* Modal base */
.gt-modal-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,0.6);
  display: none; align-items: center; justify-content: center;
  z-index: 2000;
}
.gt-modal-backdrop.show { display: flex; }

.gt-modal {
  width: min(90vw, 440px);
  background: #0f0f10;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.6);
  color: #fff;
  font-family: system-ui, Segoe UI, Arial;
  overflow: hidden;
}

.gt-modal header {
  padding: 14px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-weight: 700;
}

/* Banners */
.gt-banner {
  display: none;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  font-size: 14px;
}
.gt-banner.show { display: block; }
.gt-banner.success { background: rgba(46, 204, 113, 0.12); color: #b9f7cb; }
.gt-banner.error   { background: rgba(231, 76, 60, 0.12);  color: #ffb3b3; }
.gt-banner.info    { background: rgba(52, 152, 219, 0.12); color: #bfe5ff; }

.gt-modal .body {
  padding: 16px 18px;
}

.gt-modal .actions {
  display: flex; gap: 10px; justify-content: flex-end;
  padding: 14px 18px; border-top: 1px solid rgba(255,255,255,0.08);
}

.gt-field { margin-bottom: 12px; }
.gt-label { display:block; font-size: 13px; margin-bottom: 6px; color: #ddd; }

.gt-input {
  width: 100%;
  padding: 12px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.18);
  background: #17181b;
  color: #fff;
  outline: none;
}
.gt-input:focus {
  border-color: rgba(150, 200, 255, 0.6);
  box-shadow: 0 0 0 3px rgba(150, 200, 255, 0.12);
}

.gt-hint { font-size: 12px; color: #9aa9b8; margin-top: 6px; }
.gt-error { font-size: 12px; color: #ff9da2; margin-top: 6px; }

.gt-link {
  color: #b5e3ff; cursor: pointer; text-decoration: underline;
}

.gt-btn {
  background: linear-gradient(145deg, #fafafa, #c8c8c8);
  border: 2px solid #a9a9a9;
  border-radius: 12px;
  padding: 10px 18px;
  font-weight: 800; color: #1c1c1c; cursor: pointer;
  box-shadow:
    inset 2px 2px 6px rgba(255,255,255,0.85),
    inset -2px -3px 8px rgba(0,0,0,0.35),
    0 6px 16px rgba(255,255,255,0.12),
    0 4px 10px rgba(0,0,0,0.6);
}
.gt-btn:disabled { opacity: 0.6; cursor: not-allowed; }
