   /* ── CADASTRO EVENTOS — Design System Maria Peregrina ── */
   #cadastro-eventos {
     background: var(--color-primary-100);
   }

   .ev-header {
     text-align: center;
     margin-bottom: var(--space-xl);
   }

   .ev-header h1 {
     font-family: var(--font-primary);
     font-size: var(--h2);
     color: var(--color-primary-900);
     margin-bottom: var(--space-xs);
     letter-spacing: var(--letter-tight);
   }

   .ev-header p {
     color: var(--color-text-muted);
     font-size: var(--text-sm);
     font-weight: var(--peso-light);
   }

   .ev-divider {
     width: 56px;
     height: 3px;
     background: var(--color-primary-700);
     border-radius: 2px;
     margin: var(--space-sm) auto var(--space-lg);
   }

   .ev-form-wrap {
     max-width: 720px;
     margin: 0 auto;
   }

   /* Cards de sessão */
   .ev-card {
     background: var(--surface-base);
     border: 1px solid var(--color-border);
     border-radius: var(--radius-lg);
     padding: var(--space-lg) var(--space-xl);
     margin-bottom: var(--space-md);
     box-shadow: var(--shadow-md2);
   }

   .ev-card-title {
     font-family: var(--font-primary);
     font-size: var(--text-lg);
     color: var(--color-primary-900);
     margin-bottom: var(--space-md);
     display: flex;
     align-items: center;
     gap: var(--space-xs);
   }

   .ev-card-title::before {
     content: '';
     display: inline-block;
     width: 4px;
     height: 22px;
     background: var(--color-primary-700);
     border-radius: 2px;
     flex-shrink: 0;
   }

   /* Campos */
   .ev-field {
     margin-bottom: var(--space-md);
   }

   .ev-label {
     display: block;
     font-size: var(--texto-sm);
     font-weight: var(--peso-bold);
     color: var(--color-text-muted);
     text-transform: uppercase;
     letter-spacing: 0.06em;
     margin-bottom: 7px;
   }

   .ev-label .req {
     color: var(--color-primary-700);
     margin-left: 3px;
   }

   .ev-input,
   .ev-select,
   .ev-textarea {
     width: 100%;
     padding: 11px 14px;
     border: 1.5px solid var(--color-border);
     border-radius: var(--radius-base);
     font-family: var(--font-secondary);
     font-size: var(--texto-base);
     color: var(--color-text-primary);
     background: var(--surface-elevated);
     outline: none;
     appearance: none;
     transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
   }

   .ev-input:focus,
   .ev-select:focus,
   .ev-textarea:focus {
     border-color: var(--color-primary-700);
     box-shadow: 0 0 0 3px rgba(25, 48, 80, 0.10);
     background: var(--surface-base);
   }

   .ev-select {
     background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%239e8886' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
     background-repeat: no-repeat;
     background-position: right 14px center;
     padding-right: 40px;
     cursor: pointer;
   }

   .ev-textarea {
     resize: vertical;
     min-height: 90px;
   }

   /* Grid 2 colunas */
   .ev-grid-2 {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: var(--space-sm);
   }

   @media (max-width: 540px) {
     .ev-grid-2 {
       grid-template-columns: 1fr;
     }

     .ev-card {
       padding: var(--space-md);
     }
   }

   /* Lote info */
   .ev-lote {
     background: var(--surface-elevated);
     border: 1px solid var(--color-border);
     border-left: 4px solid var(--color-primary-700);
     border-radius: var(--radius-base);
     padding: 13px 16px;
     margin-bottom: var(--space-md);
     display: flex;
     align-items: center;
     gap: 12px;
     font-size: var(--texto-sm);
     color: var(--color-text-primary);
   }

   .ev-lote .lote-icon {
     font-size: 1.35rem;
   }

   .ev-lote strong {
     color: var(--color-primary-700);
   }

   /* Participante card */
   .ev-pessoa-card {
     border: 1.5px solid var(--color-border);
     border-radius: var(--radius-md);
     padding: var(--space-sm) var(--space-md);
     margin-bottom: 12px;
     background: var(--surface-elevated);
     position: relative;
     animation: evSlideIn 0.22s ease;
   }

   @keyframes evSlideIn {
     from {
       opacity: 0;
       transform: translateY(-6px);
     }

     to {
       opacity: 1;
       transform: translateY(0);
     }
   }

   .ev-pessoa-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 10px;
   }

   .ev-pessoa-num {
     font-family: var(--font-primary);
     font-size: var(--texto-sm);
     color: var(--color-primary-700);
     letter-spacing: 0.03em;
   }

   .ev-btn-remove {
     background: none;
     border: none;
     color: var(--color-text-muted);
     font-size: 1rem;
     cursor: pointer;
     padding: 3px 7px;
     border-radius: var(--radius-sm);
     transition: color var(--transition-fast), background var(--transition-fast);
   }

   .ev-btn-remove:hover {
     color: #b03030;
     background: #fdf0f0;
   }

   /* Participantes header */
   .ev-part-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: var(--space-sm);
   }

   .ev-part-label {
     font-size: var(--texto-sm);
     font-weight: var(--peso-bold);
     color: var(--color-text-muted);
     text-transform: uppercase;
     letter-spacing: 0.06em;
   }

   .ev-btn-add {
     display: flex;
     align-items: center;
     gap: 6px;
     background: var(--surface-base);
     color: var(--color-primary-700);
     border: 1.5px solid var(--color-primary-700);
     border-radius: var(--radius-base);
     padding: 7px 16px;
     font-family: var(--font-secondary);
     font-size: var(--texto-sm);
     font-weight: var(--peso-bold);
     cursor: pointer;
     transition: background var(--transition-fast), color var(--transition-fast);
   }

   .ev-btn-add:hover {
     background: var(--color-primary-700);
     color: var(--surface-base);
   }

   /* Total box */
   .ev-total {
     background: var(--color-primary-900);
     color: var(--surface-base);
     border-radius: var(--radius-md);
     padding: 18px 22px;
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-top: var(--space-xs);
   }

   .ev-total-label {
     font-size: var(--texto-sm);
     opacity: 0.75;
     font-weight: var(--peso-light);
   }

   .ev-total-sub {
     font-size: 0.75rem;
     opacity: 0.55;
     margin-top: 3px;
   }

   .ev-total-val {
     font-family: var(--font-primary);
     font-size: clamp(1.6rem, 3vw, 2rem);
     letter-spacing: var(--letter-tight);
   }

   /* Radio / toggle */
   .ev-radio-group {
     display: flex;
     flex-direction: column;
     gap: 9px;
     margin-top: 4px;
   }

   .ev-radio-item {
     display: flex;
     align-items: center;
     gap: 10px;
     cursor: pointer;
     padding: 10px 14px;
     border: 1.5px solid var(--color-border);
     border-radius: var(--radius-base);
     transition: border-color var(--transition-fast), background var(--transition-fast);
     user-select: none;
     font-size: var(--texto-sm);
     color: var(--color-text-primary);
   }

   .ev-radio-item:hover {
     border-color: var(--color-primary-700);
     background: var(--surface-elevated);
   }

   .ev-radio-item input[type="radio"] {
     width: 17px;
     height: 17px;
     accent-color: var(--color-primary-700);
     flex-shrink: 0;
     cursor: pointer;
   }

   /* Toggle sim/não */
   .ev-toggle-group {
     display: flex;
     gap: 12px;
     margin-top: 4px;
   }

   .ev-toggle-btn {
     flex: 1;
     padding: 11px;
     border: 1.5px solid var(--color-border);
     border-radius: var(--radius-base);
     background: var(--surface-elevated);
     font-family: var(--font-secondary);
     font-size: var(--texto-sm);
     font-weight: var(--peso-bold);
     cursor: pointer;
     color: var(--color-text-muted);
     transition: all var(--transition-fast);
     text-align: center;
   }

   .ev-toggle-btn.active {
     border-color: var(--color-primary-700);
     background: var(--color-primary-700);
     color: var(--surface-base);
   }

   /* Submit */
   .ev-btn-submit {
     width: 100%;
     padding: 15px;
     background: var(--color-primary-700);
     color: var(--surface-base);
     font-family: var(--font-secondary);
     font-size: var(--texto-base);
     font-weight: var(--peso-bold);
     letter-spacing: 0.06em;
     text-transform: uppercase;
     border: none;
     border-radius: var(--radius-base);
     cursor: pointer;
     margin-top: var(--space-sm);
     transition: background var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);
   }

   .ev-btn-submit:hover {
     background: var(--color-primary-900);
     box-shadow: var(--shadow-md2);
   }

   .ev-btn-submit:active {
     transform: scale(0.985);
   }

   .ev-btn-submit:disabled {
     background: var(--color-text-muted);
     cursor: not-allowed;
   }

   /* Feedback */
   .ev-feedback {
     display: none;
     padding: 14px 18px;
     border-radius: var(--radius-base);
     font-size: var(--texto-sm);
     font-weight: var(--peso-bold);
     margin-top: var(--space-sm);
     text-align: center;
   }

   .ev-feedback.success {
     display: block;
     background: #eaf5ee;
     color: #1e7a46;
     border: 1px solid #a5d6b5;
   }

   .ev-feedback.error {
     display: block;
     background: #fdf0f0;
     color: #b03030;
     border: 1px solid #f0b8b8;
   }


   .ev-hero {
     width: 100%;
     max-height: 460px;
     overflow: hidden;
     background: var(--mp-roxo-escuro);
   }

   .ev-hero img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     display: block;
     opacity: .88;
   }

   .ev-hero-placeholder {
     height: 360px;
     background: linear-gradient(135deg, var(--mp-roxo-escuro) 0%, var(--mp-roxo) 60%, var(--mp-dourado) 100%);
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     gap: 14px;
   }

   .ev-hero-placeholder span {
     font-size: 3rem;
     opacity: .6;
   }

   .ev-hero-placeholder p {
     color: rgba(255, 255, 255, .75);
     font-family: 'Inter', sans-serif;
     font-size: .9rem;
     text-align: center;
     padding: 0 20px;
   }