
        * {
            font-family: 'Montserrat', sans-serif;
            box-sizing: border-box;
        }

        :root {
            --mig-blue-primary: #1A4275;
            --mig-blue-secondary: #1F5595;
            --mig-green: #518840;
            --mig-gray: #696866;
            --mig-light-bg: #F5F7FA;
        }

        body {
            background-color: var(--mig-light-bg);
            min-height: 100vh;
            padding: 40px 24px;
        }

        .login-card {
            background-color: #fff;
            border-radius: 16px;
            box-shadow: 0 8px 40px rgba(26, 66, 117, .1);
            padding: 48px 52px;
            width: 100%;
            max-width: 480px;
            margin: 0 auto;
        }

        .logo-wrapper { text-align: center; margin-bottom: 36px; }
        .logo-wrapper img { height: 44px; }
        .form-title { font-size: 24px; font-weight: 700; color: var(--mig-blue-primary); margin-bottom: 28px; text-align: center; }
        .input-group-mig { margin-bottom: 20px; }
        .input-group-mig label { display: block; font-size: 12px; font-weight: 600; color: var(--mig-blue-primary); margin-bottom: 8px; text-transform: uppercase; letter-spacing: .5px; }
        .input-wrapper { position: relative; }
        .input-wrapper > i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--mig-blue-secondary); font-size: 14px; }
        .input-wrapper .password-toggle { position: absolute; top: 50%; right: 10px; display: grid; width: 32px; height: 32px; place-items: center; transform: translateY(-50%); border: 0; border-radius: 50%; color: var(--mig-blue-secondary); background: transparent; cursor: pointer; }
        .input-wrapper .password-toggle i { position: static; transform: none; color: inherit; font-size: 14px; }
        .input-wrapper .password-toggle:hover { background: rgba(31, 85, 149, .08); }
        .input-group-mig input { width: 100%; height: 50px; border: 1.5px solid #E0E7F0; border-radius: 10px; padding: 0 16px 0 44px; font-size: 14px; color: var(--mig-blue-primary); background-color: #F8FAFD; transition: border-color .3s ease, box-shadow .3s ease; outline: none; }
        #txtClaveAdm { padding-right: 50px; }
        .input-group-mig input:focus { border-color: var(--mig-blue-secondary); background-color: #fff; box-shadow: 0 0 0 4px rgba(31, 85, 149, .08); }
        .input-group-mig input::placeholder { color: #B0BAC4; font-weight: 400; }
        .btn-mig-primary { width: 100%; height: 52px; background-color: var(--mig-green); color: #fff; border: none; border-radius: 10px; font-size: 14px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; cursor: pointer; transition: background-color .3s ease, transform .15s ease, box-shadow .3s ease; margin-top: 8px; box-shadow: 0 4px 15px rgba(81, 136, 64, .25); }
        .btn-mig-primary:hover { background-color: var(--mig-blue-secondary); box-shadow: 0 6px 20px rgba(31, 85, 149, .3); transform: translateY(-1px); }
        .form-footer { margin-top: 32px; font-size: 12px; color: #B0BAC4; text-align: center; }
        body > footer.footer { display: none; }
        #md-DatosPaciente .modal-content { border: 0; border-radius: 16px; box-shadow: 0 8px 40px rgba(26, 66, 117, .16); overflow: hidden; }
        #md-DatosPaciente .modal-header { display: block; position: relative; border: 0; padding: 32px 36px 12px; }
        #md-DatosPaciente .modal-title { color: var(--mig-blue-primary); font-size: 22px; font-weight: 700; text-align: center; }
        #md-DatosPaciente .btn-close { position: absolute; top: 18px; right: 18px; }
        #md-DatosPaciente .modal-body { padding: 20px 36px 12px; }
        #md-DatosPaciente .input-group-mig { margin-bottom: 18px; }
        #md-DatosPaciente .input-group-mig input { width: 100%; height: 48px; border: 1.5px solid #E0E7F0; border-radius: 10px; padding: 0 16px 0 44px; font-size: 14px; color: var(--mig-blue-primary); background-color: #F8FAFD; outline: none; }
        #md-DatosPaciente .input-group-mig input:focus { border-color: var(--mig-blue-secondary); background-color: #fff; box-shadow: 0 0 0 4px rgba(31, 85, 149, .08); }
        #md-DatosPaciente .input-group-mig input:disabled { color: var(--mig-gray); cursor: not-allowed; }
        #md-DatosPaciente .modal-footer { display: flex; gap: 12px; border: 0; padding: 12px 36px 32px; }
        #md-DatosPaciente .btn-modal-secondary, #md-DatosPaciente .btn-modal-primary { height: 48px; border-radius: 10px; font-size: 13px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
        #md-DatosPaciente .btn-modal-secondary { flex: 1; border: 1.5px solid #E0E7F0; color: var(--mig-blue-secondary); background: #fff; }
        #md-DatosPaciente .btn-modal-primary { flex: 2; border: 0; color: #fff; background: var(--mig-green); box-shadow: 0 4px 15px rgba(81, 136, 64, .25); }
        #md-DatosPaciente .btn-modal-primary:hover { background: var(--mig-green); }
        @media (max-width: 575.98px) { .login-card { padding: 36px 28px; } }
        @media (max-width: 575.98px) { #md-DatosPaciente .modal-header { padding: 28px 28px 8px; } #md-DatosPaciente .modal-body { padding: 18px 28px 8px; } #md-DatosPaciente .modal-footer { padding: 12px 28px 28px; } }
