    .btn-primary {
      background: linear-gradient(120deg, var(--snx-neon), var(--snx-teal2)); color: var(--snx-on-accent); border: none; border-radius: 8px;
      padding: 9px 18px; font-size: 0.85rem; font-weight: 700; cursor: pointer;
      transition: filter 0.18s, transform 0.12s, box-shadow 0.18s;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .btn-primary:hover { filter: brightness(1.08); transform: translateY(-1px); box-shadow: 0 6px 16px var(--snx-acc-wash); }
    .btn-primary:active { transform: scale(0.97); }
    .btn-primary:disabled { background: var(--snx-acc-line); color: var(--snx-faint); cursor: not-allowed; }

    .btn-success {
      background: var(--snx-ok-wash); color: var(--snx-ok); border: 1px solid var(--snx-ok-line); border-radius: 10px;
      padding: 9px 18px; font-size: 0.85rem; font-weight: 600; cursor: pointer;
      transition: all 0.18s; display: inline-flex; align-items: center; gap: 6px;
    }
    .btn-success:hover { background: var(--snx-ok-line); box-shadow: 0 4px 12px var(--snx-ok-wash); }
    .btn-success:active { transform: scale(0.97); }

    .btn-ghost {
      background: transparent; color: var(--snx-muted); border: 1px solid var(--snx-rule); border-radius: 10px;
      padding: 9px 18px; font-size: 0.85rem; font-weight: 500; cursor: pointer;
      transition: all 0.18s; display: inline-flex; align-items: center; gap: 6px;
    }
    .btn-ghost:hover { background: var(--snx-wash); color: var(--snx-ink); border-color: var(--snx-rule); }

    .btn-danger {
      background: transparent; color: var(--snx-bad); border: 1px solid var(--snx-bad-line); border-radius: 8px;
      padding: 5px 10px; font-size: 0.78rem; font-weight: 500; cursor: pointer;
      transition: all 0.15s; display: inline-flex; align-items: center; gap: 4px;
    }
    .btn-danger:hover { background: var(--snx-bad-wash); border-color: var(--snx-bad); }

    .btn-teal {
      background: var(--snx-neon); color: var(--snx-navy); border: none; border-radius: 10px;
      padding: 9px 18px; font-size: 0.85rem; font-weight: 700; cursor: pointer;
      transition: all 0.18s; display: inline-flex; align-items: center; gap: 6px;
    }
    .btn-teal:hover { background: #06b6d4; box-shadow: 0 4px 16px var(--snx-acc-line); }

    .field-label {
      display: block; font-size: 0.72rem; font-weight: 700; color: var(--snx-muted);
      margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.05em;
    }
    .field-input {
      width: 100%; background: var(--snx-wash); border: 1px solid var(--snx-rule); border-radius: 10px;
      padding: 9px 12px; font-size: 0.875rem; font-family: 'Inter', sans-serif;
      color: var(--snx-ink); outline: none; transition: border-color 0.2s, box-shadow 0.2s; appearance: none;
    }
    .field-input:focus { border-color: var(--snx-neon); box-shadow: 0 0 0 3px var(--snx-acc-wash); }
    .field-input::placeholder { color: var(--snx-muted); }
    textarea.field-input { resize: vertical; min-height: 70px; }
    select.field-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2322D3EE'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; background-size: 16px; padding-right: 34px; }
    select.field-input option { background: var(--snx-card); color: var(--snx-ink); }