:root {
    --tow-brand: #ffffff;
    --tow-brand-dark: #f5d67a;
    --tow-card: #000;   /* solid black background */
    --tow-text: #ffffff;
    --tow-muted: #8ba0b2;
    --tow-error: #ff5467;
  }
  
  .tow-container { text-align: center; padding: 40px; color: var(--tow-text); }
  .tow-lead { color: var(--tow-muted); }
  
  .tow-btn-primary, .tow-btn-secondary, .tow-mini-btn {
    border: none; cursor: pointer; border-radius: 8px; font-weight: 600;
  }
  .tow-btn-primary { background: var(--tow-brand); color: #fff; padding: 12px 20px; }
  .tow-btn-primary:hover { background: var(--tow-brand-dark); }
  .tow-btn-secondary { background: #000000; color: #fff; height: 30px; font-size: 12px;}
  .tow-mini-btn { background:#000000; color:#fff; padding:6px 10px; margin-top: 6px; border-radius:6px; font-size:12px }
  
  .tow-modal-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(55, 55, 55, 0.8); /* darker backdrop */
    justify-content: center; align-items: center;
    z-index: 1000;
  }
  .tow-modal-overlay[aria-hidden="false"] { display: flex; }
  
  .tow-modal-card {
    background: var(--tow-card); color: var(--tow-text);
    width: 92%; max-width: 950px;   /* responsive: up to 950px wide */
    border-radius: 14px; overflow: hidden;
    box-shadow: 0 30px 80px rgba(0,0,0,0.65);
    display: grid; grid-template-rows: auto 1fr auto; /* header/body/footer */
    max-height: 95vh;             /* keeps inside viewport */
  }
  
  .tow-modal-header {
    display:flex; align-items:center; gap:10px;
    padding:16px 18px; border-bottom:1px solid rgba(255,255,255,0.1);
  }
  .tow-badge {
    background: #e3bf00; color:#000000;
    padding: 4px 8px; border-radius: 999px;
    font-size: .8rem; font-weight:700;
  }
  .tow-modal-title { margin: 0; font-size: 1.1rem; font-weight: 800; }
  .tow-icon-close {
    margin-left:auto; background:transparent; color: var(--tow-text);
    border:1px solid rgba(255,255,255,0.2);
    width:36px; height:36px; border-radius:50%;
  }
  
  .tow-modal-body { padding: 18px; overflow: auto; }
  .tow-modal-footer {
    display:flex; justify-content:flex-end; gap:10px;
    padding: 14px 18px 20px;
    border-top:1px solid rgba(255,255,255,0.1);
  }
  
  .tow-field { margin-bottom: 2px; text-align: left; }
  
  /* 🔹 Inputs: dark background, white text */
  .tow-input,
  .tow-modal-card textarea,
  .tow-modal-card input[type="text"],
  .tow-modal-card input[type="email"],
  .tow-modal-card input[type="tel"],
  .tow-modal-card input[type="number"],
  .tow-modal-card input[type="password"],
  .tow-modal-card select {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #666;
    background: #131212;         /* dark background */
    color: #ffffff !important;   /* force white text */
    caret-color: #ffffff;        /* white blinking cursor */
  }
  
  /* 🔹 Placeholder text (lighter gray) */
  .tow-input::placeholder,
  .tow-modal-card textarea::placeholder,
  .tow-modal-card input::placeholder {
    color: #bbbbbb !important;
  }
  
  /* 🔹 Autofill fix (Chrome/Safari) */
  .tow-modal-card input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #131212 inset !important;
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
  }
  
  /* 🔹 Focus styles */
  .tow-input:focus,
  .tow-modal-card textarea:focus,
  .tow-modal-card input:focus,
  .tow-modal-card select:focus {
    outline: none;
    border-color: var(--tow-brand);
    box-shadow: 0 0 0 3px rgba(15,108,255,0.25);
  }
  
  /* Grid layout */
  .tow-grid-2 { display:grid; grid-template-columns: 1fr; gap: 12px; }
  @media (min-width: 720px) {
    .tow-grid-2 { grid-template-columns: 1fr 1fr; }
  }
  
  .tow-repeatable { display: grid; gap: 10px; }
  
  .tow-error { color: var(--tow-error); font-size: .85rem; display: none; }
  .tow-hint { font-size: .85rem; color: var(--tow-muted); }
  
  .tow-sr-only {
    position: absolute !important; width:1px; height:1px; padding:0;
    margin:-1px; overflow:hidden; clip:rect(0,0,0,0);
    white-space:nowrap; border:0;
  }