body {
            background: radial-gradient(circle at top, #222 0, #000 45%);
            min-height: 100vh;
            color: #f9fafb;
            font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        }

        .card-custom {
            border-radius: 24px;
            padding: 28px 26px 26px;
            background: radial-gradient(circle at top left, #111 0, #050505 45%, #000 100%);
            border: 1px solid rgba(255, 204, 0, 0.35);
            box-shadow:
                0 20px 45px rgba(0, 0, 0, 0.9),
                0 0 35px rgba(255, 204, 0, 0.1);
        }

        .title {
            font-weight: 800;
            font-size: 1.5rem;
            letter-spacing: .06em;
        }

        .step-badge {
            border-radius: 999px;
            padding: 0.35rem 0.9rem;
            font-size: 0.8rem;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            transition: all .25s ease;
            border: 1px solid rgba(148, 163, 184, 0.5);
            color: #e5e7eb;
        }

        .step-badge.active {
            border-color: #ffcc00;
            background: linear-gradient(135deg, #ffcc00, #e0b300);
            color: #111827;
            box-shadow: 0 0 18px rgba(255, 204, 0, 0.7);
        }

        .step-badge.done {
            border-color: #22c55e;
            color: #bbf7d0;
        }

        .step-line {
            height: 2px;
            flex: 1;
            background: linear-gradient(to right, rgba(55, 65, 81, 0.5), rgba(55, 65, 81, 0.1));
        }

        .btn-alpha {
            background: #ffcc00;
            border-color: #ffcc00;
            color: #111827;
            font-weight: 700;
            letter-spacing: .04em;
            text-transform: uppercase;
            transition: all .18s ease;
        }

        .btn-alpha:hover,
        .btn-alpha:focus {
            background: #e0b300;
            border-color: #e0b300;
            transform: translateY(-1px);
            box-shadow: 0 0 18px rgba(255, 204, 0, 0.8);
            color: #020617;
        }

        .btn-alpha:active {
            transform: translateY(0);
            box-shadow: none;
        }

        .btn-alpha-outline {
            background: transparent;
            color: #ffcc00;
            border: 1px solid #ffcc00;
            font-size: 0.8rem;
            padding: 0.35rem 0.9rem;
            border-radius: 999px;
            transition: all .18s ease;
        }

        .btn-alpha-outline:hover:not(:disabled),
        .btn-alpha-outline:focus:not(:disabled) {
            background: #ffcc00;
            color: #000;
        }

        .btn-alpha-outline:disabled {
            opacity: 0.35;
            cursor: not-allowed;
        }

        .btn-alpha-dark {
            background-color: #000;
            color: #ffcc00;
            border: 2px solid #ffcc00;
            font-weight: 700;
            letter-spacing: .04em;
            text-transform: uppercase;
            transition: all .18s ease;
        }

        .btn-alpha-dark:hover,
        .btn-alpha-dark:focus {
            background-color: #ffcc00;
            color: #000;
            box-shadow: 0 0 16px rgba(255, 204, 0, 0.8);
        }

        .alpha-input,
        .alpha-select,
        .alpha-textarea {
            background-color: rgba(15, 23, 42, 0.8);
            border-radius: 0.75rem !important;
            border: 1px solid rgba(148, 163, 184, 0.6);
            color: #e5e7eb;
            transition: all .18s ease;
            font-size: .9rem;
        }

        .alpha-input:focus,
        .alpha-select:focus,
        .alpha-textarea:focus {
            color: #ffffff;
            border-color: #ffcc00;
            box-shadow: 0 0 0 1px rgba(255, 204, 0, .4);
            background-color: rgba(15, 23, 42, 0.95);
        }

        .alpha-input::placeholder,
        .alpha-textarea::placeholder {
            color: #6b7280;
        }

        .fade-in {
            animation: fadeInUp .5s ease-out;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .alert-alpha {
            border-radius: 999px;
            font-size: 0.85rem;
            padding: 0.6rem 1rem;
        }

        .mini-label {
            font-size: 0.78rem;
            text-transform: uppercase;
            letter-spacing: .11em;
            color: #9ca3af;
            font-weight: 600;
        }

        .section-box {
            border-radius: 1.1rem;
            border: 1px solid rgba(31, 41, 55, 0.9);
            padding: 1rem 1rem 1rem;
            background: radial-gradient(circle at top left, rgba(17, 24, 39, 0.9) 0, rgba(15, 23, 42, 0.92) 40%, rgba(15, 23, 42, 0.96) 100%);
            transition: all .25s ease;
        }

        .spinner-border-sm {
            --bs-spinner-width: 1rem;
            --bs-spinner-height: 1rem;
            --bs-spinner-border-width: 0.15em;
        }

        .ficha-html b {
            display: block;
            margin-top: 0.8rem;
            margin-bottom: 0.3rem;
            color: #fde68a;
            font-size: 0.95rem;
        }

        .ficha-html i {
            color: #9ca3af;
        }

        .ficha-html {
            font-size: 0.9rem;
            line-height: 1.5rem;
        }