    * { margin: 0; padding: 0; box-sizing: border-box; }
    
    body {
      font-family: 'Inter', sans-serif;
      background: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);
      min-height: 100vh;
      padding: 20px;
      color: #0F172A;
    }
    
    .form-container {
      max-width: 720px;
      margin: 0 auto;
      background: #fff;
      border-radius: 16px;
      box-shadow: 0 25px 60px rgba(0,0,0,0.2);
      overflow: hidden;
    }
    
    /* Header */
    .form-header {
      background: linear-gradient(135deg, #EEF2FF 0%, #F0F9FF 100%);
      padding: 28px 32px;
      border-bottom: 1px solid #E5E7EB;
    }
    
    .uacademia-logo {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 16px;
    }
    
    .uacademia-logo-icon {
      width: 36px;
      height: 36px;
      background: linear-gradient(135deg, #6366F1, #8B5CF6);
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-weight: 800;
      font-size: 18px;
    }
    
    .uacademia-logo-text {
      font-weight: 800;
      font-size: 16px;
      color: #0F172A;
    }
    
    .uacademia-logo-sub {
      font-size: 11px;
      color: #6366F1;
      font-weight: 600;
      letter-spacing: 0.5px;
    }
    
    .form-tag {
      display: inline-block;
      font-size: 11px;
      font-weight: 700;
      color: #6366F1;
      text-transform: uppercase;
      letter-spacing: 0.6px;
      margin-bottom: 6px;
    }
    
    .form-title {
      font-size: 22px;
      font-weight: 700;
      color: #0F172A;
      line-height: 1.3;
      margin-bottom: 6px;
    }
    
    .form-subtitle {
      font-size: 13px;
      color: #64748B;
    }
    
    /* Body */
    .form-body {
      padding: 32px;
    }
    
    .form-section {
      margin-bottom: 28px;
    }
    
    .form-section-title {
      font-size: 12px;
      font-weight: 700;
      color: #475569;
      text-transform: uppercase;
      letter-spacing: 0.6px;
      margin-bottom: 14px;
      padding-bottom: 8px;
      border-bottom: 2px solid #E5E7EB;
      display: flex;
      align-items: center;
      gap: 8px;
    }
    
    .form-grid-2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }
    
    .form-grid-3 {
      display: grid;
      grid-template-columns: 1fr 2fr;
      gap: 14px;
    }
    
    @media (max-width: 600px) {
      .form-grid-2, .form-grid-3 {
        grid-template-columns: 1fr;
      }
      .form-body { padding: 20px; }
      .form-header { padding: 20px; }
    }
    
    .form-field { display: flex; flex-direction: column; }
    
    .form-label {
      font-size: 12px;
      font-weight: 600;
      color: #374151;
      margin-bottom: 5px;
      display: flex;
      align-items: center;
      gap: 4px;
    }
    
    .form-label-required { color: #EF4444; font-weight: 700; }
    
    .form-input,
    .form-select {
      padding: 11px 14px;
      border: 1.5px solid #E2E8F0;
      border-radius: 8px;
      font-family: 'Inter', sans-serif;
      font-size: 14px;
      color: #0F172A;
      background: #fff;
      transition: all 0.15s;
      width: 100%;
    }
    
    .form-input:focus,
    .form-select:focus {
      outline: none;
      border-color: #6366F1;
      box-shadow: 0 0 0 3px rgba(99,102,241,0.1);
    }
    
    .form-input[readonly] {
      background: #F8FAFC;
      color: #64748B;
      cursor: not-allowed;
    }
    
    /* Carreras */
    .carreras-info {
      font-size: 12px;
      color: #64748B;
      margin-bottom: 12px;
      padding: 10px 12px;
      background: #FEF3C7;
      border-radius: 7px;
      border-left: 3px solid #F59E0B;
    }
    
    .carreras-list {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 8px;
      max-height: 320px;
      overflow-y: auto;
      padding: 12px;
      background: #FAFBFC;
      border: 1px solid #E5E7EB;
      border-radius: 8px;
    }
    
    .carrera-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 12px;
      border-radius: 7px;
      cursor: pointer;
      background: #fff;
      border: 1px solid #E5E7EB;
      transition: all 0.15s;
      user-select: none;
    }
    
    .carrera-item:hover {
      background: #F8FAFC;
      border-color: #C7D2FE;
    }
    
    .carrera-item input[type="checkbox"] {
      width: 16px;
      height: 16px;
      cursor: pointer;
      accent-color: #6366F1;
      flex-shrink: 0;
    }
    
    .carrera-item-text {
      flex: 1;
      min-width: 0;
    }
    
    .carrera-name {
      font-size: 12px;
      color: #1E293B;
      font-weight: 500;
      line-height: 1.3;
    }
    
    .carrera-tag {
      font-size: 10px;
      color: #94A3B8;
      margin-top: 3px;
      display: none;
      font-weight: 600;
    }
    
    .contador-carreras {
      font-size: 11px;
      font-weight: 700;
      color: #6366F1;
      background: #EEF2FF;
      padding: 4px 10px;
      border-radius: 5px;
      display: inline-block;
      margin-left: auto;
    }
    
    .section-title-flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    
    /* Footer */
    .form-footer {
      padding: 24px 32px;
      background: #FAFBFC;
      border-top: 1px solid #E5E7EB;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }
    
    .footer-note {
      font-size: 12px;
      color: #64748B;
    }
    
    .btn-submit {
      padding: 12px 28px;
      border: none;
      border-radius: 8px;
      background: linear-gradient(135deg, #6366F1, #8B5CF6);
      color: white;
      font-family: 'Inter', sans-serif;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      box-shadow: 0 4px 12px rgba(99,102,241,0.35);
      transition: all 0.15s;
    }
    
    .btn-submit:hover {
      transform: translateY(-1px);
      box-shadow: 0 6px 16px rgba(99,102,241,0.45);
    }
    
    .btn-submit:disabled {
      opacity: 0.6;
      cursor: not-allowed;
      transform: none;
    }
    
    /* Loading state */
    .loading-state {
      padding: 80px 20px;
      text-align: center;
    }
    
    .loading-spinner {
      width: 48px;
      height: 48px;
      border: 4px solid #E5E7EB;
      border-top-color: #6366F1;
      border-radius: 50%;
      margin: 0 auto 16px;
      animation: spin 0.8s linear infinite;
    }
    
    @keyframes spin {
      to { transform: rotate(360deg); }
    }
    
    /* Estado de éxito */
    .success-state {
      padding: 60px 32px;
      text-align: center;
    }
    
    .success-icon {
      width: 80px;
      height: 80px;
      background: linear-gradient(135deg, #10B981, #059669);
      border-radius: 50%;
      margin: 0 auto 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-size: 40px;
      box-shadow: 0 10px 30px rgba(16,185,129,0.3);
    }
    
    .success-title {
      font-size: 24px;
      font-weight: 700;
      color: #0F172A;
      margin-bottom: 12px;
    }
    
    .success-text {
      font-size: 14px;
      color: #64748B;
      max-width: 400px;
      margin: 0 auto;
      line-height: 1.6;
    }
    
    /* Estado de error */
    .error-state {
      padding: 60px 32px;
      text-align: center;
    }
    
    .error-icon {
      width: 80px;
      height: 80px;
      background: linear-gradient(135deg, #EF4444, #DC2626);
      border-radius: 50%;
      margin: 0 auto 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      color: white;
      font-size: 40px;
    }
    
    /* Powered by */
    .powered-by {
      text-align: center;
      padding: 16px;
      font-size: 11px;
      color: rgba(255,255,255,0.8);
      margin-top: 20px;
    }
