﻿@charset "UTF-8";

/* source: registro.aspx.style1.css */
        /* ===== Contacto (nuevo look como Login) ===== */
        .section-box {
            border: 1px solid #e5e7eb;
            background: #f8fafc;
            border-radius: 12px;
            padding: 12px 12px 14px;
            margin-top: 12px;
        }

        .section-title {
            font-weight: 900;
            color: #0f172a;
            text-transform: uppercase;
            font-size: 12px;
            letter-spacing: .4px;
            margin-bottom: 10px;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .login-shell {
            min-height: 0;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            padding: 14px 12px 22px;
            position: relative;
        }

            .login-shell:before {
                content: "";
                position: absolute;
                inset: 0;
                background: radial-gradient(900px 420px at 15% 10%, rgba(13,110,253,.16), rgba(255,255,255,0)), radial-gradient(900px 420px at 90% 25%, rgba(25,135,84,.11), rgba(255,255,255,0)), radial-gradient(700px 340px at 70% 90%, rgba(111,66,193,.10), rgba(255,255,255,0));
                pointer-events: none;
            }

            .login-shell:after {
                content: "";
                position: absolute;
                inset: 0;
                background: #f6f8fc;
                z-index: -1;
            }

        .wrap {
            width: 100%;
            max-width: 1100px;
            position: relative;
            z-index: 1;
        }

        .brand-top {
            text-align: center;
            margin: 2px 0 12px;
        }

        .brand-title {
            font-size: 18px;
            font-weight: 800;
            color: #0b3c7a;
            line-height: 1.2;
        }

        .brand-sub {
            margin-top: 3px;
            font-size: 13px;
            color: #6b7280;
        }

        .layout {
            display: grid;
            grid-template-columns: 1fr 360px;
            gap: 16px;
            align-items: start;
        }

            .layout.auth {
                grid-template-columns: 280px 1fr 360px;
            }

        @media (max-width: 991px) {
            .layout, .layout.auth {
                grid-template-columns: 1fr;
            }
        }

        .card {
            background: #fff;
            border-radius: 16px;
            box-shadow: 0 18px 45px rgba(16,24,40,.12);
            border: 1px solid rgba(0,0,0,.06);
            overflow: hidden;
        }

        .card-head {
            padding: 18px 20px;
            border-bottom: 1px solid #eef2f7;
            display: flex;
            gap: 12px;
            align-items: center;
            justify-content: space-between;
            background: linear-gradient(180deg,#fff,#fbfcff);
        }

        .head-left {
            display: flex;
            gap: 12px;
            align-items: center;
        }

        .badge-ico {
            width: 46px;
            height: 46px;
            border-radius: 14px;
            background: #edf4ff;
            color: #0d6efd;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            box-shadow: inset 0 0 0 1px rgba(13,110,253,.08);
        }

        .h-title {
            margin: 0;
            font-size: 18px;
            font-weight: 800;
            color: #0b3c7a;
        }

        .h-sub {
            margin: 3px 0 0;
            color: #6b7280;
            font-size: 13px;
        }

        .card-body {
            padding: 16px 20px 20px;
        }

        .help {
            margin-top: 0;
            color: #6b7280;
            font-size: 13px;
            line-height: 1.45;
        }

        .grid2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }

        @media (max-width: 767px) {
            .grid2 {
                grid-template-columns: 1fr;
            }
        }

        /* Split form (usuario | acceso) */
        .form-split {
            display: grid;
            grid-template-columns: 1fr;
            gap: 14px;
            align-items: start;
        }

        .split-divider {
            height: 1px;
            background: #e5e7eb;
            border-radius: 999px;
            margin: 2px 2px 0;
        }

        @media (max-width: 991px) {
            .form-split {
                grid-template-columns: 1fr;
            }
        }

        .grid1 {
            display: grid;
            grid-template-columns: 1fr;
            gap: 12px;
        }

        .f-label {
            display: block;
            font-weight: 700;
            color: #374151;
            margin: 0 0 6px;
            font-size: 13px;
        }

        .f-input {
            position: relative;
        }

        .f-ico {
            position: absolute;
            left: 12px;
            top: 50%;
            transform: translateY(-50%);
            width: 30px;
            height: 30px;
            border-radius: 10px;
            background: #f3f4f6;
            color: #374151;
            display: flex;
            align-items: center;
            justify-content: center;
            border: 1px solid #e5e7eb;
            pointer-events: none;
        }

        .f-control {
            width: 100% !important;
            max-width: none !important;
            display: block !important;
            height: 46px !important;
            padding-left: 54px !important;
            border: 1px solid #d1d5db !important;
            border-radius: 12px !important;
            box-shadow: none !important;
        }

        textarea.f-control {
            height: auto !important;
            min-height: 120px;
            padding-top: 12px;
            padding-bottom: 12px;
        }

        .f-control:focus {
            border-color: #0d6efd !important;
            box-shadow: 0 0 0 3px rgba(13,110,253,.18) !important;
            outline: none;
        }

        .row-check {
            display: flex;
            gap: 14px;
            flex-wrap: wrap;
            align-items: center;
            margin-top: 10px;
        }

            .row-check a {
                font-weight: 700;
            }

            .row-check label {
                font-weight: 600;
                color: #374151;
            }

        .captcha-wrap {
            margin-top: 12px;
            padding: 12px;
            border: 1px solid #eef2f7;
            border-radius: 12px;
            background: #f8fafc;
        }

        .btn-login {
            height: 48px;
            border-radius: 12px;
            font-weight: 800;
            letter-spacing: .2px;
            text-transform: uppercase;
        }

        .btn-secondary-soft {
            background: #fff !important;
            border: 1px solid #d1d5db !important;
            color: #374151 !important;
        }

            .btn-secondary-soft:hover {
                background: #f9fafb !important;
            }

        .actions {
            margin-top: 14px;
            display: grid;
            gap: 10px;
        }

        .ok {
            display: flex;
            gap: 12px;
            align-items: flex-start;
            background: #ecfdf5;
            border: 1px solid #d1fae5;
            border-radius: 14px;
            padding: 12px 14px;
            color: #065f46;
        }

        .ok-ico {
            width: 40px;
            height: 40px;
            border-radius: 12px;
            background: #d1fae5;
            color: #065f46;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 18px;
            flex: 0 0 auto;
        }

        .ok-title {
            font-weight: 900;
            color: #065f46;
            margin: 0 0 2px;
            font-size: 15px;
        }

        .ok-sub {
            color: #065f46;
            font-size: 13px;
            line-height: 1.4;
        }

        .info-card .card-body {
            padding: 16px 18px;
        }

        .info-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }

            .info-list li {
                display: flex;
                gap: 10px;
                align-items: flex-start;
                padding: 8px 0;
                border-bottom: 1px solid #eef2f7;
                color: #374151;
            }

                .info-list li:last-child {
                    border-bottom: none;
                }

            .info-list .glyphicon {
                color: #0d6efd;
                margin-top: 2px;
            }

            .info-list a {
                font-weight: 700;
            }

        .menu-card {
            padding: 10px;
        }

        .form-sep {
            margin-top: 14px;
            padding-top: 14px;
            border-top: 1px solid #eef2f7;
        }

        .form-sep-title {
            font-weight: 700;
            color: #111827;
            margin-bottom: 2px;
        }

        .form-sep-sub {
            font-size: 12px;
            color: #6b7280;
        }

        /* --- Contacto (mismo look que Formulario de contacto) --- */
        .contact-card {
            border: 1px solid #e6eefc;
            border-radius: 14px;
            background: #fff;
            overflow: hidden;
            margin: 10px 0 14px;
        }

        .contact-head {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 14px 14px;
            background: #f7fbff;
            border-bottom: 1px solid #edf2f7;
        }

        .contact-icon {
            width: 46px;
            height: 46px;
            border-radius: 14px;
            background: #eaf2ff;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #2f6fdd;
            font-size: 20px;
            flex: 0 0 auto;
        }

        .contact-title {
            font-weight: 700;
            color: #22314a;
            font-size: 16px;
            line-height: 1.1;
        }

        .contact-sub {
            color: #6b7280;
            font-size: 12px;
            margin-top: 2px;
        }

        .contact-row {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 14px;
            border-bottom: 1px solid #f1f5f9;
        }

            .contact-row:last-child {
                border-bottom: 0;
            }

        .contact-row-ico {
            color: #2f6fdd;
            font-size: 16px;
            width: 18px;
            text-align: center;
            flex: 0 0 18px;
        }

        .contact-row-txt {
            color: #22314a;
            font-size: 14px;
        }

            .contact-row-txt strong {
                font-weight: 700;
                color: #22314a;
            }

            .contact-row-txt a {
                color: #2f6fdd;
                text-decoration: none;
            }

                .contact-row-txt a:hover {
                    text-decoration: underline;
                }

        /* ===== Panel de avisos (sin modales) ===== */
        .alert-panel {
            border: 1px solid #e5e7eb;
            border-left: 6px solid #1f9de8;
            background: #f5faff;
            border-radius: 12px;
            margin: 12px 0 14px;
            box-shadow: 0 10px 25px rgba(16,24,40,.08);
            overflow: hidden;
        }

            .alert-panel .alert-header {
                padding: 10px 12px;
                font-weight: 900;
                background: #e6f2ff;
                display: flex;
                align-items: center;
                gap: 10px;
            }

                .alert-panel .alert-header .glyphicon {
                    color: #1f9de8;
                }

            .alert-panel .alert-title {
                flex: 1 1 auto;
            }

            .alert-panel .close {
                border: 0;
                background: transparent;
                font-size: 22px;
                line-height: 1;
                opacity: .55;
                cursor: pointer;
                padding: 0 4px;
            }

                .alert-panel .close:hover {
                    opacity: .85;
                }

            .alert-panel .alert-body {
                padding: 10px 12px;
                color: #22314a;
                font-size: 14px;
                line-height: 1.5;
                background: #fff;
            }

            .alert-panel.success {
                border-left-color: #28a745;
                background: #f4fff7;
            }

                .alert-panel.success .alert-header {
                    background: #e9f8ef;
                }

                    .alert-panel.success .alert-header .glyphicon {
                        color: #28a745;
                    }

            .alert-panel.error {
                border-left-color: #dc3545;
                background: #fff5f5;
            }

                .alert-panel.error .alert-header {
                    background: #fdeaea;
                }

                    .alert-panel.error .alert-header .glyphicon {
                        color: #dc3545;
                    }

            .alert-panel.warning {
                border-left-color: #f0ad4e;
                background: #fffaf2;
            }

                .alert-panel.warning .alert-header {
                    background: #fff1d8;
                }

                    .alert-panel.warning .alert-header .glyphicon {
                        color: #f0ad4e;
                    }

            .alert-panel.info {
                border-left-color: #1f9de8;
            }
    

/* source: registro.aspx.style2.css */
                            .help-list {
                                display: flex;
                                flex-direction: column;
                                gap: 10px;
                                margin-top: 12px
                            }

                            .help-item {
                                display: flex;
                                gap: 10px;
                                align-items: flex-start;
                                padding: 10px 12px;
                                border: 1px solid #e5e7eb;
                                border-radius: 12px;
                                background: #fff
                            }

                                .help-item .glyphicon {
                                    opacity: .75;
                                    margin-top: 2px
                                }

                            .help-tt {
                                font-weight: 700
                            }

                            .help-tx {
                                color: #6b7280;
                                font-size: 13px;
                                line-height: 1.35
                            }
                        
